Unix Timestamp Converter
Convert Unix timestamps (seconds/milliseconds) to dates and back, instantly. Nothing is sent to a server — everything runs in your browser.
How to use
- Current time: The "Current time" panel at the top refreshes every second. Click the 📋 button next to any value to copy it.
- Timestamp → Date: Type a timestamp into the left panel. The unit (seconds vs. milliseconds) is auto-detected from its magnitude, or you can pick one explicitly from the dropdown.
- Date → Timestamp: Pick a date and time in the right panel. Choose whether that time should be interpreted in your local timezone or as UTC.
- Fill with now: Click "🕐 Now" at the top to fill both inputs with the current time.
All conversion is done with the browser's built-in Date API; nothing you enter is sent to a server or stored.
What is a Unix timestamp?
A Unix timestamp (Unix time, epoch time) represents a moment as the number of seconds (or milliseconds) elapsed since 00:00:00 UTC on January 1, 1970 (the Unix epoch). Because it's a single number independent of timezone, weekday, or leap-year rules, it's used everywhere: database timestamp columns, API responses, log files, and JWT's iat/exp claims, among others. Seconds is the traditional unit, but JavaScript's Date.now() and many APIs use milliseconds instead, so it's worth double-checking which one you're dealing with.
Frequently Asked Questions
Is anything I enter sent to a server?
No. All conversion happens entirely in your browser via JavaScript; nothing is sent to a server.
How does it know if a value is seconds or milliseconds?
It auto-detects based on magnitude (roughly, anything larger than 10^11 is treated as milliseconds). If a value is ambiguous or the auto-detection gets it wrong, pick "Seconds" or "Milliseconds" explicitly from the dropdown.
What's the "Year 2038 problem"?
Older systems that store a seconds-based Unix timestamp as a signed 32-bit integer will overflow past 03:14:07 UTC on January 19, 2038, wrapping the value to a negative number. This tool itself isn't affected, since it uses JavaScript's 64-bit floating-point numbers, but it's still worth keeping in mind when exchanging data with 32-bit systems.
Does it support negative timestamps (before 1970)?
Yes. Dates before January 1, 1970 are represented as negative timestamps, and this tool converts correctly in both directions.
Why is the ISO 8601 value always shown in UTC?
JavaScript's Date.prototype.toISOString() always produces a UTC string (with a Z suffix). If you need a representation that includes your local timezone offset, refer to the "Local time" value alongside it.