Timestamp Converter
Convert a Unix timestamp to ISO 8601 and a human-readable local date, or go the other way: type an ISO date and get back the Unix timestamp in both seconds and milliseconds. The tool auto-detects whether a pasted Unix timestamp is in seconds or milliseconds based on its magnitude, so you don't have to remember which unit the API you're debugging used. A live 'current timestamp' ticker at the top updates every second so you always have a fresh reference value to copy. Everything runs locally in your browser.
Reviewed by Vincenzo Manto, Founder & Lead Developer · Last updated September 27, 2026
How it works
- 1
Type a Unix timestamp into the left field. The tool auto-detects whether it's in seconds or milliseconds based on how many digits it has.
- 2
Or type an ISO 8601 (or other parseable) date string into the right field.
- 3
Whichever field you edit, the other one and the human-readable local-time line below update automatically.
- 4
Use the live 'current timestamp' ticker at the top, or the 'Use now' button, to grab the current time in either unit instantly.
Why timestamp units trip people up
Different APIs and languages disagree on the default Unix timestamp unit. JavaScript's `Date.now()` returns milliseconds, while most Unix tools and many backend languages default to seconds. Pasting a seconds timestamp into a tool expecting milliseconds (or vice versa) silently produces a wrong date, often off by decades, without any error.
One tool for both conversion directions
Rather than forcing you to pick 'timestamp to date' or 'date to timestamp' as separate tools, this converter keeps the Unix and ISO 8601 fields in sync in both directions, plus a plain-language local-time readout, so you can debug a log timestamp, generate a test fixture value, or double-check an API response all in the same place.
Frequently asked questions
How does auto-detection decide seconds vs. milliseconds?
Unix timestamps in seconds for any realistic date are well under 100,000,000,000 (11 digits), while the same dates in milliseconds are 13 digits or more. This tool treats any value below that 100-billion boundary as seconds and anything at or above it as milliseconds.
What timezone is the human-readable output in?
It's rendered in your browser's local timezone (using `Date.toLocaleString`), with the timezone abbreviation shown alongside it so you know exactly what you're looking at. The ISO 8601 field, by contrast, is always UTC (indicated by the trailing 'Z').
What counts as a valid ISO 8601 input?
Any string JavaScript's Date constructor can parse: a full timestamp like `2024-01-15T10:30:00.000Z`, a date-only string like `2024-01-15`, or common variants. If the string can't be parsed, the field is flagged and the timestamp fields won't update from it.
Is the 'current timestamp' ticker live?
Yes. It updates once per second directly in your browser using JavaScript's own clock, so you can copy a fresh 'right now' timestamp at any moment without reloading the page.
Is any of this sent to a server?
No. All parsing, conversion, and the live clock run entirely client-side in your browser; nothing is uploaded.