Convert between Unix timestamps and human-readable dates in any timezone.
Timestamp → Date
Saturday, October 10, 2026 at 8:41:46 PM UTC
Date → Timestamp
1791664860 (seconds)
1791664860000 (ms)
How to use this tool
Choose the time zone first; it starts as your device's own. Paste a timestamp and set sec or ms to read it as a date, or pick a date and time to get its timestamp in both units. Use current time fills in the present moment. If you paste a 13-digit number while the unit is sec, a note tells you it is probably milliseconds.
Worked example: one moment, three ways
9:00 in the morning on 27 September 2026 in India (Asia/Kolkata, UTC+5:30) is 1790479800 in seconds, or 1790479800000 in milliseconds, and 03:30 in UTC. The timestamp is the same wherever you are; only the clock reading changes with the zone you display it in. That is why logs and databases store the number and convert it for display, and why a timestamp that seems "5 hours 30 minutes off" is nearly always being shown in UTC rather than IST.
Clock changes: times that happen twice or never
India doesn't change its clocks, but many countries do, and converting a date there has two awkward cases:
A time that never happens. In New York the clocks jump from 02:00 to 03:00 on 8 March 2026, so 02:30 doesn't exist. It is moved forward by the jump, to 03:30 EDT (1772955000).
A time that happens twice. In London the clocks go back from 02:00 to 01:00 on 25 October 2026, so 01:30 occurs in summer time and again in winter time. The first one, 01:30 BST (1792888200), is used; the second is an hour later.
These are the same choices JavaScript's Temporal API makes by default. If a system records the second 01:30, add 3600 to the timestamp.
Frequently Asked Questions
How do I tell whether a timestamp is in seconds or milliseconds?
Count the digits. Dates between 2001 and 2286 are 10 digits in seconds and 13 in milliseconds, so 1790479800 is seconds and 1790479800000 is milliseconds. JavaScript's Date.now() and Java's System.currentTimeMillis() give milliseconds; most databases, Unix tools and JWTs use seconds.
What happens in 2038?
Timestamps stored as signed 32-bit integers run out at 2147483647, which is 03:14:07 UTC on 19 January 2038; one second later they wrap to a date in 1901. Systems that use 64-bit integers, as JavaScript, most modern databases and current operating systems do, are not affected. It matters for old embedded devices and legacy database columns declared as 32-bit integers.
Can a timestamp be negative?
Yes. Negative numbers count backwards from 1 January 1970: -86400 is 31 December 1969. Birth dates and historical records before 1970 are stored this way, and the converter reads them the same as positive values.