A log line says 1734451200 and a human asks 'when was that.' EpochShift converts Unix timestamps to dates and back, with a live clock, batch-friendly, in the browser. Use it when debugging JWT exp, cron next-runs, cookie expiry, and API fields that are integers. Do not use it as a calendar app, a timezone database editor, or gospel about leap seconds. Seconds vs milliseconds is the classic foot-gun: 13-digit values are usually ms. If you treat them as seconds you land in the 500th century. The tool should guess; you should still look.
Paste a timestamp or a date. See UTC and local. Convert back. Batch a column of values if the UI allows. ISO-8601 in, epoch out is the other direction. Time zones: 'local' means this browser's zone, which is wrong if you are SSH'd into a box in UTC while your laptop is in Chicago. State the zone in the ticket.
When not to use it: scheduling a meeting (use a calendar), and parsing 'next Tuesday' natural language. CronShift estimates next cron fires; this page is the epoch decoder. JWT exp is epoch seconds — JwtShift shows the claim, EpochShift makes it a date you can argue about. Leap seconds are not a research-grade TZDB UI; this is a flashlight for logs and JWT exp.
Privacy is local. Timestamps are rarely secret; the accompanying log line might be. Paste only the integer if the log is sensitive. Close the tab. Natural language 'next Tuesday' belongs in a calendar; CronShift estimates cron, not this page. Write the timezone in the ticket; laptop local while the server is UTC is the six-hour outage genre.
Claim exp=1735689600. EpochShift: 2024-12-31 16:00 UTC (if that is what the integer maps to — you check). You realize the token dies at New Year UTC, not local midnight. A second value, 1735689600000, is milliseconds; treated as seconds it is nonsense. You switch interpretation. No log file uploaded. An expired token at New Year UTC, not local midnight, is the 401 you thought was a signature bug. Thirteen digits are usually milliseconds; treating them as seconds lands you in the wrong century.
EpochShift converts in the browser. Timestamps stay on the device. Prefer pasting the integer without the rest of a sensitive log line. Nothing is stored. Prefer pasting the integer without the rest of a sensitive line; nothing is stored either way.
Full policy: Shift Privacy Policy. Questions: [email protected].
10 is usually seconds. 13 is usually milliseconds. 16 might be microseconds. If the date is 1970 or year 50,000, you picked the wrong scale. Ten digits seconds, thirteen milliseconds, sixteen maybe microseconds; year 1970 or year 50,000 is the scale hint.
Because that is your offset. Neither clock is wrong. APIs often store UTC while humans read local, so write the zone in the ticket or you will debug a phantom six-hour outage that was only a label.
If the UI is batch-friendly, paste a list. Otherwise one value at a time is safer than a broken import. Batch a list if the UI allows; otherwise one value at a time is safer than a broken spreadsheet import.
The useful default is UTC plus browser local. Named-zone databases are how calendar apps earn their keep. Do not assume IANA names unless the UI lists them. Named IANA zones are how calendar apps earn their keep; do not assume them unless the UI lists them.
Related tools: CronShift · JwtShift · JsonShift
Guides · All Shift tools · About · Contact