A ten-digit value is seconds
Input
1750000000
Result
2025-06-15T15:06:40.000Z
This is the form used by JWT exp and iat claims, Unix date, and most SQL epoch functions.
Convert Unix timestamps to dates and turn dates back into seconds or milliseconds.
ISO: 2026-08-12T22:47:54.000Z
Local: Aug 12, 2026, 10:47:54 PM
Seconds: 1786574820
Milliseconds: 1786574820000
Understand the format
Unix time counts seconds since 1970-01-01T00:00:00Z, which gives every machine one unambiguous instant to agree on before time zones enter the picture.
A Unix timestamp is the number of seconds elapsed since the epoch, midnight UTC on 1 January 1970. It carries no time zone, no daylight-saving rule, and no calendar formatting. That is its entire value: two servers on opposite sides of the world computing 1750000000 mean precisely the same instant. A time zone only becomes relevant when the number is rendered for a person.
The definition deliberately ignores leap seconds. A Unix day is always exactly 86,400 seconds, so a leap second is absorbed rather than counted. This keeps arithmetic simple, at the cost of the count drifting slightly from true astronomical time.
The most common bug in this area is a unit mismatch. Unix tooling, JWT claims, and most database functions use seconds; JavaScript Date.now, Java System.currentTimeMillis, and many log pipelines use milliseconds. A quick check by digit count settles it: a present-day timestamp in seconds has 10 digits, in milliseconds it has 13. Feed milliseconds into a seconds-based parser and you land somewhere around the year 57000; feed seconds into a milliseconds-based one and you land in January 1970.
The second limit worth knowing is the year 2038 problem. A signed 32-bit integer overflows at 2147483647 seconds, which is 19 January 2038. Systems that still store time in a 32-bit field wrap around to 1901 at that point. Modern platforms use 64-bit values, but embedded devices, old file formats, and legacy database columns can still be affected.
Step by step
Conversion uses the browser Date and Intl APIs. Timestamps you paste are not transmitted, and only your device time zone influences the local rendering.
Worked examples
Input
1750000000
Result
2025-06-15T15:06:40.000Z
This is the form used by JWT exp and iat claims, Unix date, and most SQL epoch functions.
Input
2147483647
Result
2038-01-19T03:14:07.000Z
One second later, a signed 32-bit time_t wraps to December 1901. Timestamps near this value in test data are usually a deliberate boundary check.
Reference
| Digits | Unit | Example | Interpretation |
|---|---|---|---|
| 10 | Seconds | 1750000000 | Present day. The standard Unix time unit. |
| 13 | Milliseconds | 1750000000000 | Present day. JavaScript and JVM default. |
| 16 | Microseconds | 1750000000000000 | Common in tracing systems and Postgres internals. |
| 9 or fewer | Seconds, historical | 946684800 | Dates before 2001. 946684800 is 2000-01-01T00:00:00Z. |
| Negative | Seconds before 1970 | -86400 | 1969-12-31T00:00:00Z. Valid, but rejected by some parsers. |
Practical Guide
Troubleshooting
FAQ
It was a convenient recent round date when Unix time was defined in the early 1970s. There is nothing special about it beyond convention, and other systems use different epochs.
No. Every day is treated as exactly 86,400 seconds, so leap seconds are skipped or repeated depending on the platform. For interval arithmetic at second resolution this is almost never a problem.
Yes. Negative values represent instants before 1970. They are legal, but plenty of libraries and databases handle them poorly, so historical dates are often better stored as dates rather than timestamps.
It is the standard textual format, for example 2025-06-15T15:06:40Z. Unlike a raw number it is readable, and unlike a local date string it states its offset, with Z meaning UTC.
The time zone configured on your device. The ISO line is always UTC, so use that one whenever two people need to be certain they are discussing the same instant.
Go deeper