Timestamp Converter
Convert Unix timestamps in seconds or milliseconds to human-readable dates and back in real time, showing both your local timezone and UTC — ideal for developers and data processing.
What is a Unix Timestamp?
A Unix timestamp counts seconds since 00:00:00 UTC on 1 January 1970, excluding leap seconds. It is an absolute instant rather than a local clock reading: the number is the same everywhere on Earth, and only the human-readable rendering changes with timezone. That property is why logs, databases, and APIs prefer timestamps over formatted date strings — they sort correctly and need no timezone metadata to compare.
Seconds versus Milliseconds
The most common conversion mistake is unit confusion. Second-level values in the 2020s have 10 digits; millisecond-level values have 13. This tool detects the unit automatically and also lets you force one.
| Unit | Typical length | Example value |
|---|---|---|
| Seconds (10 digits) | 10 digits | 1790090593 |
| Milliseconds (13 digits) | 13 digits | 1790090593958 |
Note: the tool treats values at or above 100000000000 as milliseconds, since no second-level timestamp reaches that size until the year 5138.
Landmark Timestamps
| Moment | Timestamp | UTC rendering |
|---|---|---|
| Unix epoch | 0 | 1970-01-01T00:00:00Z |
| Start of 2000 | 946684800 | 2000-01-01T00:00:00Z |
| Start of 2020 | 1577836800 | 2020-01-01T00:00:00Z |
| Start of 2026 | 1767225600 | 2026-01-01T00:00:00Z |
| Start of 2030 | 1893456000 | 2030-01-01T00:00:00Z |
| 32-bit signed limit | 2147483647 | 2038-01-19T03:14:07Z |
The 2038 Problem
Systems that store a timestamp in a signed 32-bit integer cannot represent values above 2147483647, which occurs at 2038-01-19T03:14:07Z. One second later the counter wraps to a negative number. Modern 64-bit storage and 64-bit database columns avoid the issue entirely, but embedded devices and legacy file formats still surface it.
Timezones and Offsets
A timestamp is timezone-independent; the offset belongs to the display layer. The same instant rendered in UTC and in UTC+8 differs by eight hours on the wall clock while the underlying number stays identical — which is why a timestamp is the safest way to store an event time.
Worked Examples
- Default input: 1600000000 converts to 2020-09-13T12:26:40Z in UTC — the value used as the placeholder in the input field.
- Unit detection: a 10-digit value is read as seconds and a 13-digit value as milliseconds; 1600000000 (10 digits) therefore means 2020, not 1970.
- Day arithmetic: adding 86400 to a timestamp moves exactly one day forward in UTC, because Unix time ignores leap seconds and daylight saving changes.
Common Timestamp Formats
The same instant can be written several ways. Unix time is the storage-friendly form; ISO 8601 is the interchange form used by most APIs; HTTP-date appears in protocol headers. Converting between them does not change the instant, only the notation.
| Format | Value | Typical use |
|---|---|---|
| Unix seconds | 1600000000 | Databases, logs, sorting |
| ISO 8601 / RFC 3339 | 2020-09-13T12:26:40Z | JSON APIs, config files |
| HTTP-date (RFC 7231) | Sun, 13 Sep 2020 12:26:40 GMT | HTTP headers, caching |
| Human (UTC) | 2020-09-13 12:26:40 UTC | Reports, user interfaces |
Converting Without a Tool
Two constants cover most quick checks: one day is 86400 seconds and a common year is 31536000 seconds. Dividing a timestamp by 86400 gives the number of days since the epoch, and the remainder is the time of day in seconds — so the hour is the remainder divided by 3600.
Offsets are then simple additions: UTC+8 adds 28800 seconds to the UTC rendering and UTC−5 subtracts 18000, with half-hour zones following the same rule. That is why most systems store offsets in minutes rather than hours.
Practical Notes
- Unix time ignores leap seconds, so it is not a count of elapsed SI seconds; it is a count of 86400-second days since the epoch.
- Negative timestamps are valid and denote instants before 1970.
- Store timestamps in UTC and convert only for display; daylight saving rules change far more often than your storage format will.
- When a value looks about a thousand times too large or too small, the unit is almost always the cause.
- A date string without a zone cannot be converted unambiguously, so always record the offset or the Z suffix when storing text.
Frequently Asked Questions
How do I tell seconds from milliseconds? Count the digits. In the 2020s a second-level timestamp has 10 digits and a millisecond-level one has 13. The tool defaults to a boundary of 100000000000, and you can force a unit manually.
Why do timestamps look different across timezones? A timestamp is an absolute instant and is timezone-independent. Only the human-readable representation changes. The tool shows local and UTC side by side so you can verify.
What is the 2038 problem? Signed 32-bit storage overflows after 2038-01-19T03:14:07Z. Use 64-bit fields and the issue disappears.
Do leap seconds affect Unix time? No. Unix time counts 86400-second days and does not insert leap seconds, which is why day arithmetic on timestamps is exact in UTC.
Can a timestamp be negative? Yes. Negative values represent instants before 1 January 1970 and are handled the same way.
Related Reading
For day and week arithmetic around a given date, use the Date Calculator; for background on offsets and working-day rules, see our date calculation guide. Timezone offsets behave like any other unit shift, which the Unit Converter illustrates for non-time quantities.