data tool
Unix timestamp converter
Paste a Unix timestamp in seconds or milliseconds and read it as a UTC date, your local time and ISO 8601, or pick a date and time to get its timestamp back. A Unix timestamp counts seconds from midnight UTC on 1 January 1970, so dates before 1970 are negative numbers, and those convert too.
Loading the tool…
- Runs on your device, nothing is uploaded
- Free, no sign in
- No watermark, no file limit
How it works
- 1
Paste the timestamp
Type or paste it into Unix timestamp, or press Use the current time. Spaces, commas and underscores between digits are ignored.
- 2
Check the unit
Detect says whether it read seconds or milliseconds and why. Choose Seconds or Milliseconds to override it.
- 3
Read the date
UTC, your local time, ISO 8601 in both forms, and a relative time appear at once. Each line that is useful elsewhere has its own Copy button.
- 4
Or go the other way
Under Date to timestamp, pick a date and time and say whether it is in your zone or UTC. The seconds and milliseconds appear below it.
What a Unix timestamp is
A Unix timestamp is the number of seconds since 00:00:00 UTC on 1 January 1970, a moment called the epoch. It has no time zone: 1767225600 is the same instant in Sydney, London and Los Angeles, which is exactly why logs, databases and APIs store it. The time zone only appears when the number is turned back into a clock reading, so this tool shows UTC first and your own zone second. POSIX defines the count without leap seconds, so every day is exactly 86,400 seconds long and timestamps are easy to subtract.
Seconds or milliseconds
Unix systems and most APIs use seconds, which gives a 10 digit number today. JavaScript, Java and many databases use milliseconds, which gives 13 digits. Read a millisecond value as seconds and you land tens of thousands of years in the future; read seconds as milliseconds and you land in January 1970. Detect avoids both by treating 12 or more digits as milliseconds, since a seconds value would not reach 12 digits until the year 5138. If a result looks absurd, the unit is almost always the reason.
Timestamps on a signing certificate
Audit records are usually kept in UTC so that every party reads the same time. The certificate of completion that comes with a signed envelope prints each event in the form YYYY-MM-DD HH:MM:SS UTC, the same format this tool shows on its UTC line, so a timestamp from a system log can be lined up against the certificate's event log without any arithmetic. To compare it with a signer's local time, read the local line, or use the time zone converter for a third zone.
Dates before 1970
A negative timestamp counts back from the epoch: -86400 is 31 December 1969, and -14182940 is 20 July 1969, when the Apollo 11 lander touched down. Every conversion here works across that boundary in both directions. Some older software stores timestamps as unsigned numbers and cannot represent these dates at all, and a signed 32 bit number runs out at 03:14:07 UTC on 19 January 2038; both are limits of the storage, not of the timestamp.
Limits worth knowing
The local time line uses your device's own time zone and its daylight saving rules, so two people converting the same timestamp see different local times and the same UTC. A typed date that falls inside the hour skipped when clocks go forward has no exact timestamp; the browser moves it to the next valid time. A typed date in the hour repeated when clocks go back has two timestamps an hour apart, and the browser picks one, so choose UTC for times inside that hour. Nothing is uploaded and nothing is stored, ever.
Limits
- Dates before 1970 are negative timestamps and are supported, up to about 273,000 years either side of 1970, the range a browser date can hold.
- Detect reads 12 or more digits as milliseconds. A millisecond value from before March 1973 has 11 digits or fewer, so pick Milliseconds for those.
- Leap seconds are not counted, because Unix time leaves them out by definition.
What it does not do
- It does not convert microsecond or nanosecond timestamps directly; drop the last three or six digits first.
- It does not convert to time zones other than UTC and your own; the time zone converter does that.
- It does not parse free text dates such as next Tuesday.
Questions people ask
How do I get the current Unix timestamp?
The top of this tool shows it, ticking every second, and Use the current time copies it into the converter. In a terminal, date +%s prints it on macOS and Linux. In JavaScript, Math.floor(Date.now() / 1000) gives seconds, and Date.now() alone gives milliseconds. In Python, int(time.time()) gives seconds.
What is the 2038 problem?
Systems that store Unix time in a signed 32 bit integer can only count to 2,147,483,647 seconds, which is 03:14:07 UTC on 19 January 2038. One second later the number wraps to a negative value and reads as December 1901. Modern systems use 64 bit timestamps, which last far beyond any practical horizon, but old embedded devices and file formats are still being found.
Why does my converted time look an hour off?
Usually daylight saving. The local line applies the offset in force on that date, not today's, so a summer timestamp converted in winter shows the summer offset. Check the UTC line, which never changes. If UTC is also wrong, the timestamp may already have had an offset added before it was stored, which is a bug at the source.
Can I convert a timestamp in Excel or Google Sheets?
Yes. For seconds, use =A1/86400+DATE(1970,1,1) and format the cell as a date and time; for milliseconds, divide by 86,400,000 instead. The result is in UTC, so add your offset as a fraction of a day, such as +10/24, if you need local time. Converting one value here first is a good check on the formula.
Does ISO 8601 always end in Z?
No. Z means UTC, and the same moment can be written with an offset instead, such as +10:00 for eastern Australia in winter. Both forms are valid ISO 8601 and RFC 3339, and both name the same instant. The tool shows both so you can paste whichever the receiving system expects.
Is any of this sent to a server?
No. The conversion is arithmetic done by your browser in this page, and the current time comes from your own device's clock. No network request is made after the page loads and nothing is stored, ever, so timestamps copied from private logs stay on your machine.
Get a certificate with UTC timestamps
Take what you made here into e-signatures.
Send a document for signingMore tools like this
- Time zone converterA time zone converter for one date and time across as many zones as you add, with next day and previous day marked and daylight saving handled for that date.
- Date difference calculatorA date difference calculator: pick two dates and get the days, weeks and days, months and days, and weekdays between them, with the end date in or out.
- UUID generatorA UUID generator for version 4 random ids and version 7 time ordered ids, up to 1,000 at once, made with the browser's crypto source. Copy all or download.
- JSON to tableConvert JSON to a table in your browser: an array of objects becomes rows, nested keys become dot path columns, and the result downloads as CSV. No upload.
- JSON formatterFormat and inspect JSON in your browser. A collapsible tree beside the text, errors pinned to the line and column, and warnings for duplicate keys.
Background reading: the question page on this.
Written and checked by the OneCraft team. Last checked .