How it works
- Paste a timestamp, or pick a date and time.
- Choose a time zone.
- Copy the format you need.
Why use it
- Auto detection of seconds, ms, µs and ns.
- ISO 8601, RFC 2822, UTC and relative time.
- Difference between two dates and add or subtract time.
- A live clock with copy buttons.
Converting Unix timestamps and dates, in any time zone
What a Unix timestamp is
A Unix timestamp counts the seconds since midnight UTC on 1 January 1970, ignoring leap seconds. It is the same number everywhere on Earth at the same moment, which is why servers, databases, logs and APIs use it: 1700000000 is 22:13:20 UTC on 14 November 2023, whatever time zone you are in. Time zones only come in when the number is shown to a person.
Seconds, milliseconds or more
Different systems count in different units, and the number of digits gives it away. The converter guesses the unit the same way, and you can set it by hand when the guess is wrong:
| Digits today | Unit | Used by |
|---|---|---|
| 10 | Seconds | Unix, PHP, Python time.time(), most APIs |
| 13 | Milliseconds | JavaScript Date.now(), Java, many JSON APIs |
| 16 | Microseconds | Python datetime timestamps in some libraries, PostgreSQL internals |
| 19 | Nanoseconds | Go, some databases and tracing systems |
A date that comes out in 1970, or tens of thousands of years from now, almost always means the wrong unit.
What each panel does
- Right now shows the current timestamp ticking in seconds and milliseconds, with ISO 8601, ready to copy.
- Timestamp to date shows a timestamp as a date in the time zone you pick, as ISO 8601 and RFC 2822, and as a relative time such as "3 days ago".
- Date to timestamp goes the other way, from a date and time in any zone.
- Difference between two dates and Add or subtract time answer questions like "how many days between these two log entries" or "what is 90 days from today".
Pitfalls worth knowing
- Store UTC, show local. Saving local times without their zone causes bugs twice a year when clocks change.
- ISO 8601 without a zone is ambiguous.
2026-10-12T09:00:00can mean any zone;2026-10-12T09:00:00Zmeans UTC. - The year 2038. Systems that store seconds in a signed 32 bit number overflow on 19 January 2038 at 03:14:07 UTC. Modern systems use 64 bits, but old embedded devices and file formats may not.
More detail, including how leap seconds are handled, is in Unix timestamps explained. For schedules written as cron expressions, use the cron expression parser.
If something goes wrong
- It asks for digits only. Remove spaces, commas and letters; a decimal point is allowed.
- The date is in 1970. The number was in seconds but read as milliseconds, or it is a small number such as an ID. Set the unit by hand.
- The time is off by whole hours. The time zone is different from the one the timestamp was meant for. Pick it in the list.
Questions and answers
What is a Unix timestamp?
The number of seconds since 1 January 1970 UTC. Many systems use milliseconds instead.
How do I tell seconds from milliseconds?
Ten digits is seconds and thirteen is milliseconds for current dates. The tool detects it for you.
Does it handle daylight saving time?
Yes. Conversions use the time zone database of your browser.
Related guides
Unix timestamps explained
A Unix timestamp is just a count of seconds, yet it causes a steady stream of bugs. What it counts, how to tell seconds from milliseconds at a glance, what happens with time zones and leap seconds, and why 2038 matters.