Timestamp Converter
A Unix timestamp in any unit, an ISO 8601 date or the date of an email or HTTP header, turned into all the others at once, in any time zone.
Overview
Unix time counts the seconds since midnight UTC on 1 January 1970. It carries no time zone, which is why logs,
databases and APIs record moments with it, and why a number such as 1789287420 needs a converter
before a person can read it: it is 08:17:00 UTC on Sunday, 13 September 2026. The converter reads that number,
and the date formats it usually has to be compared with, and shows the moment in every one of them.
Web interface
Paste a timestamp into the field and the result appears as you type. A complaint about the input waits until you stop typing. The buttons under the field fill in an example.
- Unit appears for a plain number. It starts at Auto, by length, and offers seconds, milliseconds, microseconds, nanoseconds and Windows FILETIME.
- Time zone lists every zone the browser knows and starts at the zone of the device. The result is shown in it, and a date that names no zone is read in it.
- Now puts the current Unix time into the field. With the field empty, the page shows the time now, second by second.
- Above the rows stands the moment as a sentence in the chosen zone, and under it how the input was read. A click on a value selects all of it, ready to copy. Relative keeps counting while the page is open.
URL parameters
| Pattern | Example |
|---|---|
| /convert/timestamp/{unix time} | /convert/timestamp/1789287420 |
| /convert/timestamp/{number}/{unit} | /convert/timestamp/133705123456789012/filetime |
| /convert/timestamp/{ISO 8601} | /convert/timestamp/2026-09-13T08:17:00Z |
The unit is one of s, ms, us, ns and
filetime, and is left out when the length already gives it. The address bar follows the input; a
date typed in the email form goes into it as its Unix seconds. The time zone is not part of the link, so a
shared link opens in the zone of whoever follows it.
Accepted input
| Form | Examples |
|---|---|
| Unix time | 1789287420, 1789287420.5, -1; a decimal comma works as well |
| ISO 8601 | 2026-09-13T08:17:00Z, 2026-09-13 10:17:00+02:00, 2026-09-13T08:17:00.123456789Z, 2026-09-13 |
| Email and HTTP | Sun, 13 Sep 2026 08:17:00 GMT, 13 Sep 26 10:17 +0200, Sun, 13 Sep 2026 04:17:00 EDT |
The email form is RFC 5322's, which includes the date of HTTP headers. A two-digit year below 50 is read as 20xx and one from 50 as 19xx, as RFC 5322 prescribes, and the zone names it still accepts (GMT, UT, EST, EDT, CST, CDT, MST, MDT, PST, PDT) are read too. A weekday that does not match the date is pointed out; the date wins.
An ISO date without an offset, and an email date without a zone, is read in the chosen time zone and marked as such. A local time that the clocks skip when they go forward, or pass twice when they go back, is marked as well; of two, the first is taken. Some input cannot be read, and the page says why:
| Message | When |
|---|---|
Unix time has no leap seconds: every day is 86,400 seconds long, so a time of :60 cannot be written as a Unix timestamp. | a leap second such as 2016-12-31T23:59:60Z |
Feb 2026 has 28 days, so there is no day 30. | a day the month does not have |
An offset from UTC runs from -23:59 to +23:59. | an offset such as +25:00 |
That lies more than 100,000,000 days from 1970, beyond the calendar a browser can show. | a moment outside what a browser's Date can hold |
This is not a timestamp the page can read. It takes Unix time as a number, ISO 8601 such as 2026-09-13T08:17:00Z, or an email or HTTP date such as Sun, 13 Sep 2026 08:17:00 GMT. | anything else |
Units and lengths
The same moment has a different length in each unit, and Auto goes by it: up to 11 digits are seconds, 12 to 14 milliseconds, 15 to 17 microseconds and 18 or more nanoseconds. Any date from 1973 to the year 5138 gets the right unit that way.
| Unit | 13 September 2026, 08:17:00 UTC | Digits |
|---|---|---|
| Seconds | 1789287420 | 10 |
| Milliseconds | 1789287420000 | 13 |
| Microseconds | 1789287420000000 | 16 |
| Nanoseconds | 1789287420000000000 | 19 |
| Windows FILETIME | 134337610200000000 | 18 |
Windows FILETIME counts 100-nanosecond steps since 1 January 1601, and Active Directory stores attributes
such as lastLogonTimestamp and pwdLastSet in it. Its 18 digits overlap with
nanoseconds, so Auto never picks it; choose it under Unit. A value is held to the nanosecond throughout, so a
19-digit timestamp comes back out digit for digit; digits below a nanosecond are dropped, and the page says
so.
Output formats
For 1789287420, with Europe/Berlin as the time zone:
| Row | Value |
|---|---|
| Unix seconds, Milliseconds, Microseconds, Nanoseconds | 1789287420 and the same with 3, 6 and 9 more digits; a fraction appears only where there is one |
| ISO 8601, UTC | 2026-09-13T08:17:00Z |
| ISO 8601, in the chosen zone | 2026-09-13T10:17:00+02:00 |
| Email (RFC 5322) | Sun, 13 Sep 2026 10:17:00 +0200, the Date header of a mail, in the chosen zone |
| HTTP (RFC 9110) | Sun, 13 Sep 2026 08:17:00 GMT, always in GMT, as HTTP requires |
| Windows FILETIME | 134337610200000000 |
| Day, ISO week | Sunday, day 256 of 2026, Week 37 of 2026 |
| Relative | how long ago or how far ahead, counting while the page is open |
A fraction of a second is written to 3, 6 or 9 digits, whichever holds it. The email and HTTP forms need a
four-digit year, and an email date one from 1900, so outside that they show None. ISO 8601 writes a year
outside 0000 to 9999 with a sign and six digits, +275760.
Common mistakes
- Seconds read as milliseconds, or the other way round. 1789287420 read as milliseconds is 21 January 1970. A date in 1970 usually means the unit is wrong.
- The year 2038. A signed 32-bit Unix time ends at 03:14:07 UTC on 19 January 2038, the
value
2147483647, and one second later wraps round to 13 December 1901. Later dates are flagged. - Local time taken for UTC. A date without an offset is not a moment until a zone is chosen. The page says which zone it used.
- Leap seconds. Unix time ignores them, so a clock that showed 23:59:60 has no Unix time of its own.
- Clock changes. 02:30 on 29 March 2026 never happened in Berlin, and 02:30 on 25 October 2026 happened twice.
No API
There is no API for this tool. Every conversion is arithmetic on one number, run in the browser: add or remove digits for the unit, and 11,644,473,600 seconds for FILETIME.
Privacy
Nothing leaves the browser. Timestamps are converted on the page with the browser's own time zone rules, and are not stored or sent. The address bar changes as you type, which puts the timestamp into the browser's history like any other page.