How to convert a list of timestamps
- Paste your list into Unix timestamps (one per line). A column copied from a spreadsheet, log or database export works. Quotes and trailing commas, as in
"1700000000",, are ignored. - Leave Unit of the numbers on auto-detect, or force seconds, milliseconds, microseconds or nanoseconds.
- Read the table: the unit used, the ISO 8601 time in UTC, the time in your own zone, and how long ago or from now it is.
- Press Copy as CSV or Download CSV to take the whole table into a spreadsheet.
For the other direction, open Dates to timestamps, paste one date per line and choose how dates without a time zone are read. The table lists the UTC instant that was used for every line, so you can see exactly what the number means.
How the unit is detected
A Unix timestamp counts time since 1970-01-01 00:00:00 UTC, the epoch defined by POSIX. The same moment is written with different digits depending on the unit, so each line is classified by its absolute value:
- Below 100,000,000,000 (11 digits or fewer): seconds
- 100,000,000,000 up to 99,999,999,999,999: milliseconds
- 100,000,000,000,000 up to 99,999,999,999,999,999: microseconds
- 100,000,000,000,000,000 and above: nanoseconds
The arithmetic uses exact integers, so a 19-digit nanosecond value is not rounded. Results are written in the ISO 8601 form that RFC 3339 profiles, with microsecond and nanosecond digits shown when your input has them.
Worked example with the default list
The page opens with four lines, and the table shows them straight away. 1700000000 is read as seconds and becomes 2023-11-14T22:13:20.000Z. 1700000000000 has 13 digits, so it is milliseconds and gives the same instant. 1700000000123456 has 16 digits, so it is microseconds: 2023-11-14T22:13:20.123456Z. 1609459200 is 2021-01-01T00:00:00.000Z. The local-time and relative columns depend on your time zone and the current time, so they differ for every visitor.
Limits and edge cases
- Up to 10,000 lines are converted per batch. Everything runs in your browser, so your list is not uploaded.
- Milliseconds from before 1973-03-03 look like seconds, and seconds after 5138-11-16 look like milliseconds. Set Unit of the numbers to force the right one.
- Dates end at year 275760, the limit of JavaScript dates. Larger values are marked out of range.
- Unix time ignores leap seconds: every day has exactly 86,400 seconds.
- When converting dates, sub-millisecond digits are dropped, and a date with an explicit zone such as +01:00 or Z always keeps that zone. Plain-text dates need a year: "March 5" alone is rejected, not guessed.
- To compare the same moment across cities, use the Time Zone Converter. To count the days between two of your dates, use the Date Difference Calculator.
Frequently asked questions
How does it tell seconds from milliseconds?
By size. Values with 11 digits or fewer are seconds, 12 to 14 digits are milliseconds, 15 to 17 digits are microseconds and 18 or more are nanoseconds. If a list mixes units, each line is judged on its own. You can also force one unit for the whole list.
Why does the same date give different timestamps in different tools?
Because a date such as 2025-03-05 has no time zone. One tool reads it as midnight UTC and another as midnight in your own zone, which can differ by up to 14 hours. Here you choose, and the table shows the exact UTC time used for each line.
Can I paste timestamps straight from a spreadsheet column?
Yes. Each cell becomes one line, blank lines are skipped, and quotes, brackets, trailing commas and thousands separators such as 1,700,000,000 are cleaned up. Lines that are not numbers are listed with the reason instead of stopping the batch.
What happens to Unix time in 2038?
Systems that store seconds in a signed 32-bit integer run out on 2038-01-19 at 03:14:07 UTC. This tool does its arithmetic with larger integers, so 2147483648 converts to 2038-01-19T03:14:08.000Z and later dates work normally.
Sources: POSIX.1-2017, Seconds Since the Epoch, RFC 3339 and the ECMAScript date range.