How to use it
- Copy the current time from the Now block — seconds or milliseconds, button next to each.
- Paste a timestamp into Timestamp → date: the units (seconds, milliseconds, microseconds) follow from the number of digits.
- Pick an extra zone from the list — the table then shows UTC, your browser time, Europe/Moscow and the zone you chose, plus the weekday, the ISO week and how long ago it was.
- For the other direction fill in Date → timestamp and say which zone the time you typed belongs to.
- A list of timestamps, one per line, goes into the Batch block — up to 10,000 lines, and the whole result copies in one click.
What a Unix timestamp is
Unix time, or epoch time, is the number of seconds since 1 January 1970, 00:00:00 UTC. It carries no zone and no daylight saving, which is why databases, trackers, APIs and logs store event time in it. 1723800000 is the same second for a server in Singapore, in Berlin and in New York; only the human-readable spelling differs.
JavaScript and Java count in milliseconds (13 digits); PHP, Python, Go and MySQL UNIX_TIMESTAMP() count in seconds (10 digits); some logs and tracing systems use microseconds (16 digits). The tool reads the units from the length and prints what it recognised, so a 2026 date does not quietly become a 1970 one.
How the zone arithmetic works
Every conversion goes through the browser built-in Intl.DateTimeFormat with the IANA database (tzdata), so daylight saving transitions and historical offsets are handled the way your operating system handles them — Europe/Moscow really was UTC+4 until 2014, and a 2013 timestamp is shown that way. The offset is computed for the date in question, not taken from today.
In the other direction the date you type is read in the zone you selected and turned into UTC. If that wall-clock time falls into a gap left by a spring-forward — 02:30 on the transition night in Berlin — the browser moves it an hour ahead, which is what most libraries do.
Where this gets used
- Postbacks and tracker logs: Keitaro, Binom and Voluum report conversion time in epoch, and you need the hour and the day in a particular zone.
- Debugging APIs and JWTs:
exp,iatandcreated_atarrive as numbers, and the converter says whether the token is already expired and by how much. - Scheduling: turning a launch at 09:00 in Asia/Almaty into a timestamp for a cron line or a dashboard field.
- Reconciling reports: a column of timestamps from a CSV becomes readable dates in one paste, without Excel formulas.
Output formats worth knowing
| Format | Example | Where you meet it |
|---|---|---|
| ISO 8601 UTC | 2026-08-16T09:12:33.000Z | JSON APIs, JavaScript toISOString() |
| ISO 8601 with an offset | 2026-08-16T12:12:33+03:00 | PHP DATE_ATOM, Laravel, RSS |
| HTTP date (RFC 7231) | Sat, 16 Aug 2026 09:12:33 GMT | Date, Expires and Last-Modified headers |
| Unix seconds / milliseconds | 1786785153 / 1786785153000 | Databases and trackers / JavaScript, Kafka |
Questions
How do I convert a Unix timestamp to a date?
Paste the number into the Timestamp → date field. The tool decides whether it is seconds, milliseconds or microseconds and shows the date in UTC, in your own zone, in Europe/Moscow and in the zone you selected.
Seconds or milliseconds — how do I tell them apart?
By length: 10 digits are seconds (dates from 2001 to 2286), 13 are milliseconds, 16 are microseconds. The recognised units are printed under the input, and both the seconds and the milliseconds value are given in the result.
What happens in 2038?
On 19 January 2038 at 03:14:07 UTC a signed 32-bit counter of seconds overflows at 2,147,483,647. Current systems keep time in 64 bits, so the problem belongs to old code and embedded devices. This converter works far past that date.
Is daylight saving taken into account?
Yes. The offset is computed for the specific date through the browser time zone database (IANA tzdata), so summer and winter transitions are handled, along with historical changes such as Russia dropping the clock change in 2011 and 2014.
How do I convert a lot of timestamps at once?
Paste the list, one value per line, into the Batch block. It handles up to 10,000 lines, the output zone comes from the dropdown, and one button copies the result. Lines that hold a date in text form are converted to timestamps instead.