The Unix Timestamp Converter turns epoch time into readable dates and dates back into epoch seconds or milliseconds. It detects seconds, milliseconds, microseconds and nanoseconds from the digit count, and shows UTC, your local zone, ISO 8601 and relative time together. Everything runs in your browser — nothing is uploaded.
How to convert a Unix timestamp to a date
- Paste an epoch value such as
1790409600into the main field. The current Unix time is shown in a live ticker at the top of the page, and the field starts pre-filled with it. - Check the detected unit. A 10-digit value is read as seconds, 13 digits as milliseconds, 16 as microseconds and 19 as nanoseconds; override the unit if your value is unusual.
- Copy the UTC, local or ISO 8601 line you need, or use Format this date to open the same instant in the Date Formatter. To go the other way — date to timestamp — type a date in the second panel.
Examples
All examples below use a fixed instant, so they read the same whenever you open this page. Relative time is left out because it depends on the moment you look.
Seconds (10 digits)
The usual form, used by Unix tools, PHP time(), Python time.time() and most databases. Time zone shown: UTC.
1790409600Result:
Unit: seconds
UTC: Sat, 26 Sep 2026 08:00:00 UTC
Local: Sat, 26 Sep 2026 08:00:00 UTC (+00:00)
ISO 8601: 2026-09-26T08:00:00.000ZMilliseconds (13 digits), shown in India Standard Time
JavaScript Date.now(), Java System.currentTimeMillis() and most JSON APIs use milliseconds. Time zone chosen: Asia/Kolkata.
1790409600000Result:
Unit: milliseconds
UTC: Sat, 26 Sep 2026 08:00:00 UTC
Local: Sat, 26 Sep 2026 13:30:00 Asia/Kolkata (+05:30)
ISO 8601: 2026-09-26T08:00:00.000ZNanoseconds (19 digits)
Go's UnixNano(), Prometheus and many tracing systems emit nanoseconds. The converter keeps every digit with integer arithmetic and shows all four units side by side.
| Unit | Value |
|---|---|
| Input | 1790409600123456789 |
| Seconds | 1790409600 |
| Milliseconds | 1790409600123 |
| Microseconds | 1790409600123456 |
| Nanoseconds | 1790409600123456789 |
| ISO 8601 | 2026-09-26T08:00:00.123Z |
Date to timestamp
Typed into the date panel, 2026-09-26T08:00:00Z (an explicit UTC time) converts back:
Seconds: 1790409600
Milliseconds: 1790409600000
ISO 8601: 2026-09-26T08:00:00.000ZOptions explained
The converter is a form rather than an editor, so it has no settings drawer. These are the controls on the page:
- Timestamp field — accepts digits with an optional minus sign or decimal part; commas, underscores and spaces used as separators are ignored, so
1,790,409,600works. The unit is detected from the digits before the decimal point, so1790409600.5is read as seconds plus half a second. - Unit — Auto (by digit count), seconds, milliseconds, microseconds or nanoseconds. Set it by hand when a value sits on a boundary, such as an early-1970s millisecond value with fewer than 12 digits.
- Time zone — a searchable list of IANA zones, defaulting to your browser's zone, with deprecated names such as
Asia/Calcuttalisted under their current name,Asia/Kolkata. It only changes the "Local" line; UTC and ISO 8601 describe the same instant regardless. - Current Unix time ticker — the live epoch in seconds, which you can pause.
- Date to timestamp panel — accepts ISO 8601, RFC 2822, SQL
DATETIMEand forms like26 Sep 2026 14:05. A date without an offset is read in the selected time zone.
Troubleshooting timestamp conversions
The date lands in 1970
You passed seconds to something that expects milliseconds. 1790409600 read as milliseconds is 21 January 1970. Multiply by 1,000, or in JavaScript write new Date(seconds * 1000).
The date lands tens of thousands of years in the future
The reverse mistake: a millisecond value read as seconds. The converter flags any result outside 1900–2100 with "This timestamp is outside 1900–2100 — check the unit". Divide by 1,000, or set the unit to milliseconds.
The local time is off by a few hours
A Unix timestamp has no time zone — it is always seconds since 1970-01-01 00:00 UTC. Only its display has a zone. Pick the zone you expected in the Time zone list and compare the UTC line, which never shifts.
A converted date is off by exactly your UTC offset
When you convert a date to a timestamp, a value like 2026-09-26 14:05 has no offset, so it is read in the selected zone. Add Z or an offset such as +05:30 to pin it.
Values stop at 2038 in another system
A signed 32-bit integer can hold seconds only up to 2147483647, which is Tue, 19 Jan 2038 03:14:07 UTC. The converter handles larger values; if your database column or C time_t is 32-bit, move it to a 64-bit type.
FAQ
What is a Unix timestamp?
A Unix timestamp, or epoch time, is the number of seconds that have passed since 00:00:00 UTC on 1 January 1970, not counting leap seconds. It is a single integer, so it sorts, compares and stores cleanly, and it means the same instant everywhere. Time zones only matter when you turn it back into a calendar date for display. Unix timestamps explained covers the details.
How do I tell seconds from milliseconds?
Count the digits. Present-day timestamps are 10 digits in seconds and 13 in milliseconds; microseconds have 16 and nanoseconds 19. The converter applies exactly this rule, and warns when the result falls outside 1900–2100, which almost always means the unit is wrong rather than the value.
How do I get the current timestamp in code?
In JavaScript, Math.floor(Date.now() / 1000) gives seconds and Date.now() gives milliseconds. Python uses int(time.time()), Java Instant.now().getEpochSecond(), Go time.Now().Unix(), and a shell date +%s. PostgreSQL has extract(epoch from now()) and MySQL UNIX_TIMESTAMP(). The ticker at the top of this page shows the same number live.
What happens in 2038?
On 19 January 2038 at 03:14:07 UTC, the seconds count passes 2,147,483,647, the largest value a signed 32-bit integer can hold. Systems that store time in 32 bits wrap to a negative number and read the date as December 1901. Modern operating systems and languages use 64-bit time, but old databases, file formats and embedded devices can still be affected.
Can a Unix timestamp be negative?
Yes. Negative values count backwards from 1970, so -86400 is Wed, 31 Dec 1969 00:00:00 UTC. The converter accepts them without a warning as long as the result is after 1900; only dates outside 1900–2100 get the out-of-range notice. Some languages and databases reject negative epochs, so check before storing them.
Does the converter handle leap seconds?
Unix time ignores leap seconds: every day is exactly 86,400 seconds, so a leap second repeats or smears an existing value. The converter follows the same convention as every mainstream language, which means its results match what your code produces. If you need TAI or GPS time, apply the published offset separately.
Is anything I paste sent to a server?
No. Conversion uses the browser's own date and time zone data inside an isolated frame that blocks network requests. Your settings are remembered on this device, but the values you type are not stored unless you turn on "Remember my last input".
Related tools
To show the instant in a specific pattern such as dd-MM-yyyy, open the Date Formatter. To see one time across several cities, use the Time Zone Converter; for "3 days ago" wording in another language, the Relative Time Formatter. All date and number tools are listed under Date & Number.
Related tools
Guides
- Unix Timestamps Explained — What is a Unix timestamp, and why seconds vs milliseconds?