/

Epoch / Date Converter

Processed Client Side

Convert UNIX timestamps to human-readable dates, convert dates back to epoch, and calculate the duration between two moments. Supports any timezone.

Input
Current UNIX time
1788854332
Result
Enter a UNIX timestamp to convert it.

Bookmark this tool now — skip the search next time you need it.

About Epoch / Date Converter

This tool runs entirely in your browser. Whatever you paste is processed on your own device and is never uploaded, logged, or sent to any server.

The Epoch / Date Converter turns a UNIX timestamp into a readable date, turns a date back into a timestamp, and measures the gap between two moments. It works out on its own whether the number you pasted is in seconds or milliseconds, then shows the result four ways at once — UTC, ISO 8601, your chosen timezone, and both numeric forms — so you can copy whichever one the next system expects. A live clock keeps the current epoch on screen while you work. It is the tool for the everyday question of what 1735689600 actually means, and for checking whether a token that expired did so when you think it did.

Key features

  • Three modes: timestamp to date, date to timestamp, and the duration between two dates
  • Seconds and milliseconds detected automatically from the length of the number you paste
  • Every result shown as UTC, ISO 8601, the selected timezone, seconds, and milliseconds
  • Twelve common timezones including UTC, US zones, European zones, Asia/Kolkata, Asia/Tokyo, and Australia/Sydney
  • Timezone rendering handled by the browser’s own Intl engine, so daylight saving is applied correctly for the date in question
  • Live current epoch, ticking once a second, so you always have "now" to compare against
  • Duration mode reports the gap in days, hours, minutes, seconds, and milliseconds, plus which moment came first
  • One-click copy on every individual value rather than the whole block
  • Runs entirely in your browser — timestamps from production logs stay on your machine

How to use it

  1. Pick the mode you need: Timestamp → Date, Date → Timestamp, or Duration.
  2. Paste your timestamp, or type a date in any format the browser can parse, such as 2026-03-14T09:30:00Z.
  3. Choose the timezone you want the result rendered in.
  4. Read the conversions and copy the one you need.
  5. For Duration, enter two dates and read the gap plus which one came first.

Tips & common mistakes

  • Ten digits means seconds, thirteen means milliseconds. That is the distinction behind most timestamp bugs: JavaScript’s Date.now() returns milliseconds while most backends, databases, and JWT claims use seconds.
  • A timestamp is always an absolute moment in UTC. There is no such thing as a timestamp "in" a timezone — the zone only affects how it is displayed, which is why the same number shows different wall-clock times here.
  • JWT exp and iat claims are in seconds. Paste the raw claim to see exactly when a token expired, and compare it against the live epoch shown on the page.
  • A date typed without a timezone is interpreted in your local zone, while one ending in Z is UTC. That single character accounts for an awful lot of off-by-hours confusion.
  • Timestamp 0 is 1 January 1970 UTC. A date of 1970 in your data almost always means a null or missing value that got coerced to zero somewhere upstream.
  • Duration mode ignores direction when reporting the size of the gap and tells you the order separately, so you can compare two events without worrying which you entered first.
  • Signed 32-bit timestamps overflow on 19 January 2038. If you are storing epochs in an INT column, that is the deadline to widen it to a 64-bit type.
  • Prefer a different layout for the same conversion? The UNIX Timestamp Converter covers the same ground.

Related tools

Browse all 12 Development tools

Frequently asked questions

10

It is the number of seconds that have elapsed since 1 January 1970 UTC, ignoring leap seconds. Because it is a single absolute number, it is unambiguous across timezones — which is why systems store time that way.

Paste the number into Timestamp → Date mode. It is shown as a UTC string, ISO 8601, the timezone you select, and both the seconds and milliseconds forms.

From the length of the number. Ten digits or fewer is treated as seconds and multiplied up; longer is treated as milliseconds. Ten digits means seconds, thirteen means milliseconds.

The units are wrong. A milliseconds value read as seconds lands tens of thousands of years in the future, and a seconds value read as milliseconds lands in January 1970.

Twelve common zones including UTC, the four US zones, London, Paris, Berlin, Kolkata, Tokyo, Shanghai, and Sydney. Conversion uses the browser’s Intl engine, so daylight saving is applied correctly for the date in question.

Switch to Date → Timestamp and type the date. Anything the browser can parse works, and an ISO 8601 string such as 2026-03-14T09:30:00Z is the least ambiguous form.

JWT exp and iat claims are epoch seconds. Paste the raw claim value here and compare it with the live current epoch shown on the page to see whether the token has expired and by how long.

Use Duration mode and enter both dates. You get the gap in days, hours, minutes, seconds, and milliseconds, plus which of the two came first.

A signed 32-bit integer cannot hold a timestamp beyond 19 January 2038. Systems storing epochs in a 32-bit column will overflow then, which is why 64-bit types are now standard.

No. All conversion happens in your browser, so timestamps taken from production logs or tokens stay on your machine.