Epoch Converter
100% CLIENT-SIDE
Timestamp (Seconds or Milliseconds)
Human Readable Date Formats
More from TimestampDecode
Epoch Unit Detector (s, ms, µs, ns)
Paste epoch timestamps and see whether each is seconds, milliseconds, microseconds or nanoseconds, with…
ISO-8601 to Epoch Converter
Convert ISO-8601 dates and date-times to Unix seconds and milliseconds.
Guides
Frequently Asked Questions
Is my data safe on timestampdecode.com?
Yes. Conversion happens in your browser; no timestamp is sent anywhere.
Why is my timestamp showing 1970?
You almost certainly pasted milliseconds where seconds were expected, or the reverse. A 13-digit value is milliseconds since the epoch; a 10-digit value is seconds. The home page treats up to 10 digits as seconds and anything longer as milliseconds. The epoch unit detector page goes further: it recognises microseconds and nanoseconds as well and states which unit it assumed for each value.
Does it handle time zones?
Yes. It shows UTC and ISO-8601 alongside your browser’s local time, which is what exposes the offset when a log timestamp disagrees with your wall clock.
🧭 Pro Tips & Gotchas
Reading the decode
- Digit count decides the interpretation: 10 digits or fewer are treated as seconds since the epoch, 13 or more as milliseconds. No decimal point is required for either.
- Output is shown in several frames at once — UTC ISO, local time, and the raw epoch — because the interesting answer is usually the delta between them.
- Handy sanity anchors:
1700000000is 2023-11-14,1e12ms is 2001-09-09. If a "decode" lands centuries away, the unit is wrong.
Timestamp gotchas
- The 2038 problem is a storage problem, not a display one: a signed 32-bit
intcolumn overflows on 2038-01-19T03:14:08Z. Postgresint4and MySQLINTaccept the insert and wrap; usebigint/timestamptz. - Microsecond and nanosecond stamps exist (Postgres
extract(epoch microseconds), Gotime.Now().UnixNano()). A 16-digit number is microseconds — dividing by 1000 here is not enough, and silently gives you a date in 1970s-or-later land. Date.now()in JavaScript is milliseconds;time.time()in Python is fractional seconds. Mixing the two in one API produces a date 1970-01-01 00:00:xx — the single most common off-by-1000 bug.- An unparsed ISO string like
2026-10-07T12:00:00with noZor offset is local time by spec, but several parsers treat it as UTC. Always emit an explicit offset. 2026-02-30and2026-13-01roll over into March/next year instead of erroring in most runtimes. Validate before trusting a decoded date.
Developer Sponsor / Partner