Skip to content
Your data never leaves your browser

Epoch & Unix Timestamp Converter

Unix timestamps, ISO 8601, human dates. Paste one, see them all.

Input
Results
Detected as
seconds
Unix (seconds)
1711545600
Unix (milliseconds)
1711545600000
ISO 8601
2024-03-27T13:20:00.000Z
UTC
Wed, 27 Mar 2024 13:20:00 GMT
Local
Day of week
Relative
Your timezone

What this does

DEVS: Auto-detects the unit: seconds up to 9,999,999,999, milliseconds above that, microseconds from 1e14, nanoseconds from 1e17. Date.toISOString() for ISO, Intl.DateTimeFormat for timezone detection. "Now" button calls Date.now().

Paste a Unix timestamp, an ISO 8601 string, or a plain date and see every common format at once. Seconds, milliseconds, ISO, UTC, local time, day of the week, relative time, and your detected timezone. The "Now" button grabs the current moment.

Common use cases

Debugging API responses. You're staring at 1711545600 in a JSON payload and wondering what day that is. Paste it, see "Wednesday, March 27, 2024." Done.

Converting between formats for logs, database queries, or configuration files that each want timestamps in their own special format. Postgres wants ISO. Your cron docs use Unix. The PM asks for a human date. One paste, all three answers.

Checking token expiration. JWT exp claims are Unix timestamps in seconds. Paste the value, see if it's in the past. The relative time field tells you exactly how long ago it expired.

Things to know

Unit detection goes by size. Anything over 9,999,999,999 (more than 10 digits) is milliseconds, 15 digits or more is microseconds, and 18 or more is nanoseconds. Everything else is seconds. That reads every unit correctly for dates from 1973 to 2286. For an older value in milliseconds or smaller, convert it to seconds first.

Date strings go through your browser's date parser, which handles ISO 8601, RFC 2822, and most of what databases and logs print, like 2024-03-27 10:30:00+00 or Wed Mar 27 10:30:00 2024. Three things get an error instead of a guess: words that don't belong in a date, a date with no year, and a day that doesn't exist, like February 30. Slash dates like "03/04/2024" are always read month-first, so that's March 4, wherever you are. A bare date like 2024-03-27 with no time is read as midnight in your timezone, the same as "March 27, 2024". Plain JavaScript would read it as midnight UTC, which shows up as the 26th anywhere behind UTC, like the Americas.

The timezone shown is yours, detected via Intl.DateTimeFormat. The UTC and local rows let you compare the same moment in both. Handy when you're coordinating across time zones and need to know "what time is that in UTC?"

Privacy

Everything runs in your browser. The timestamps you paste don't leave your machine. We don't even know you're here, technically.

Questions

What is a Unix timestamp, or epoch time?

It's the number of seconds since January 1, 1970, UTC, also called the Unix epoch. 1711545600 is a Unix timestamp. Counting from one fixed moment makes time easy for computers to store and compare, and unreadable for the rest of us. That's what this tool is for.

Is my timestamp in seconds or milliseconds?

Seconds are 10 digits right now, milliseconds are 13. This tool goes by length: up to 10 digits is seconds, 11 to 14 is milliseconds, 15 to 17 is microseconds, and 18 or more is nanoseconds. The Detected as row shows which one it picked.

How do I convert an epoch timestamp to a date?

Paste the number and read the ISO, UTC, and local rows. 1711545600 comes back as Wednesday, March 27, 2024. The relative-time row tells you how long ago, or ahead, that is.

What's the Year 2038 problem?

Systems that store Unix time in a signed 32-bit integer run out of room on January 19, 2038, and roll over into negative numbers. Most modern systems use 64-bit time and are fine. It's the new Y2K, with more lead time.