Timestamp Converter

Convert Unix timestamps to dates and vice versa

Auto counts the digits before any decimal point: up to 11 digits = seconds, 12–14 = milliseconds, 15–17 = microseconds. Decimals are exact to the microsecond.

How to use the timestamp converter

A Unix timestamp counts the seconds since 1 January 1970 at 00:00:00 UTC, the Unix epoch. Every day counts as exactly 86,400 seconds, because Unix time ignores leap seconds. Dates before 1970 are negative numbers. Many systems use milliseconds instead (JavaScript's Date.now(), Java) or microseconds (some databases and tracing tools), which is why the unit matters so much.

How Auto chooses the unit

Auto counts the digits before the decimal point, ignoring a minus sign and leading zeros: up to 11 digits are read as seconds, 12 to 14 as milliseconds and 15 to 17 as microseconds. So 1707782400 is seconds, 1707782400000 is milliseconds and 1707782400000000 is microseconds, and all three show 2024-02-13T00:00:00.000Z. For 18 digits or more, Auto asks you to choose the unit.

The rule is right for every seconds timestamp up to the year 5138, and for millisecond and microsecond timestamps from 1973-03-03T09:46:40.000Z onwards. Earlier millisecond values have too few digits: 86400000 milliseconds is one day after the epoch, 1970-01-02T00:00:00.000Z, but Auto reads it as seconds and shows 1972-09-27T00:00:00.000Z. When a millisecond or microsecond value is that close to zero, positive or negative, choose the unit yourself.

Notable timestamps

SecondsMillisecondsUTC (ISO 8601)Why it matters
-2147483648-21474836480001901-12-13T20:45:52.000ZSmallest signed 32-bit value
001970-01-01T00:00:00.000ZThe Unix epoch
100000000010000000000002001-09-09T01:46:40.000ZOne billion seconds
123456789012345678900002009-02-13T23:31:30.000ZDigits 1 to 0 in order
214748364721474836470002038-01-19T03:14:07.000ZLargest signed 32-bit value (the year 2038 problem)
429496729542949672950002106-02-07T06:28:15.000ZLargest unsigned 32-bit value

The year 2038 problem

Systems that store seconds in a signed 32-bit integer can count only up to 2,147,483,647, which is 2038-01-19T03:14:07.000Z. One second later the value overflows to −2,147,483,648 and the date jumps back to 1901-12-13T20:45:52.000Z. Most current platforms use 64-bit time, but old embedded devices, file formats and database columns may not. This converter is not limited to 32 bits: it accepts anything a JavaScript date can hold, the years −271821 to 275760.

Worked examples

Time zones and daylight saving time

A timestamp is the same everywhere; only the wall-clock reading changes with the time zone. When you convert a local date, the converter uses the zone your browser reports and applies its daylight-saving rules for that particular date, not today's offset. Two situations need care:

Common pitfalls

Frequently asked questions

Is a Unix timestamp in UTC?

A timestamp has no time zone: it counts seconds from an instant defined in UTC. Converting it to a date is where a zone comes in, which is why the result shows both UTC and your local time.

Which date formats can I type?

Only ISO 8601 style: YYYY-MM-DD, then optionally T or a space and a time, then optionally Z or an offset such as +05:30 or +0530. Formats like 14/02/2024 are ambiguous between countries and are rejected.

Why is the local time different on another computer?

Local time follows the time zone of the browser that runs the page. Share the UTC value or the timestamp when several people need to agree on an instant.

Does the converter check that a date exists?

Yes. 2023-02-29 gives: 2023-02-29 does not exist: February 2023 has 28 days.