Guide · Units
How to Convert Unix Timestamps to Human Dates
Updated 2026-08-11 · 4 min read
A Unix timestamp is a count of seconds (or milliseconds) since the Unix epoch: 1970-01-01 00:00:00 UTC. It is not a timezone. It is not a locale. It is an instant. The human date you see is that instant printed in some calendar and some offset.
The conversion that goes wrong most often is not the calendar math. It is treating milliseconds as seconds, or printing UTC as if it were the clock on the laptop.
Count the digits first
In the 2020s:
- 10 digits → seconds. Example:
1700000000 - 13 digits → milliseconds. Example:
1700000000000 - 16 digits → microseconds (less common in JS; seen in some databases)
- 19 digits → nanoseconds (Go
UnixNano, some tracers)
Date.now() in JavaScript returns milliseconds. time.time() in Python returns seconds as a float. Instant.now() in Java is a seconds-and-nanos pair. APIs that say createdAt: 1700000000 without a unit are doing you no favours; the field name createdAtMs is the documentation.
Rule of thumb: if the “year” comes out as 1970, you divided by 1000 too many times, or you treated a 13-digit value as seconds and then overflowed a 32-bit display. If the year is 50,000+, you treated seconds as milliseconds in reverse (multiplied when you should have divided).
Unix timestamp converter is the page for that check. It runs in the browser; no account.
One numeric check: 1700000000
1700000000 seconds after the epoch is 2023-11-14 22:13:20 UTC.
That is a useful fixture because it is round and recent. Convert it both ways in the tool. Then convert 1700000000000 as milliseconds: you should land on the same instant. Convert 1700000000 as milliseconds and you land on 1970-01-20 11:33:20 UTC - 1.7 million seconds into 1970, which is how “the log says January 1970” bugs are born.
Another fixture: 0 is the epoch itself. 2147483647 is the last second a signed 32-bit Unix clock can represent: 2038-01-19 03:14:07 UTC. If a device reports dates in 1901 or 1970 after a long uptime, look at 32-bit overflow before you look at NTP.
UTC is the timestamp; local is a display
The integer does not know that you are in IST (UTC+5:30) or PDT. Adding 5.5 hours is a display step after you have the UTC instant. Doing it before you know whether the source was already local is how meetings appear on the wrong day.
ISO-8601 strings with a Z (2023-11-14T22:13:20Z) are UTC. Strings with +05:30 already include an offset. Strings with no offset are ambiguous; many parsers treat them as local, which is a different instant for every teammate.
After you have a civil clock time and need another city, use timezone converter. That page is about zones and DST, not about epoch math. The longer DST note is how to convert time across time zones.
Leap seconds and “every day has 86400 seconds”
POSIX time, which almost every web converter implements, pretends leap seconds do not exist. UTC inserts them. For application logs, the discrepancy is rare and small. For satellite or legal timekeeping it is a real specification item. Do not “correct” a Unix converter by adding leap seconds unless you know the timescale (UTC vs TAI vs GPS).
What the converter will not fix
It will not repair a clock that was set to local time and then stored as if it were UTC (the “we subtracted the offset twice” bug). It will not parse 11/14/23 without a format. It will not tell you whether a JWT exp is seconds - though JWT exp is defined as NumericDate in seconds, so a 13-digit exp is already non-compliant.
Copy the result with the zone: 2023-11-14 22:13:20 UTC, not 2023-11-14. The date alone is wrong for anyone west of UTC who is still on the 14th evening.
If you are comparing two logs, convert both to UTC seconds and subtract. Do not subtract two locale-formatted strings.
APIs that return ISO-8601 (2023-11-14T22:13:20.000Z) already did the human-date step. Convert that string to a timestamp only if you need to sort or subtract; do not parse it as local and then store the result as Unix seconds, or you have double-shifted. Spreadsheet date serials (Excel’s 1899-12-30 epoch, or 1904 on old Mac files) are a third system. A value like 45244 is not Unix time.
The unit converters hub will not help; this is time, not pascals. For a map of the other converters, see the student and engineer roundup.
Frequently asked questions
Is a Unix timestamp in seconds or milliseconds?
Classic Unix time is seconds since 1970-01-01 00:00:00 UTC. JavaScript Date.now() and many APIs use milliseconds (13 digits in this decade). Count digits before you convert. Ten digits are seconds until the year 2286.
What date is 1700000000?
1700000000 seconds is 2023-11-14 22:13:20 UTC. If you feed that same integer to a millisecond converter you get 1970-01-20. Digit length is the first check.
Does Unix time include leap seconds?
POSIX time as used by most converters ignores leap seconds: each day is treated as 86400 seconds. UTC civil time inserts leap seconds. For ordinary logs the difference is a second or two, not a timezone.
Why is the converted date a day off from what I remember?
Usually UTC versus local offset, or a milliseconds/seconds mix. A timestamp is an instant. The calendar date depends on the zone you display. Convert to UTC first, then shift with a timezone tool if you need civil time in Mumbai or Chicago.
What is the Year 2038 problem?
A signed 32-bit second counter overflows at 2147483647, which is 2038-01-19 03:14:07 UTC. Embedded devices and old databases still store time that way. 64-bit seconds are not at risk on that date.
Do I need an account to convert a timestamp?
No. Paste the integer into the Unix timestamp converter in the browser. You are not uploading a log file to get one line decoded.
Related guides
More reading that links back to the same tools and workflows.
How to Convert Time Across Time Zones Accurately
Avoid DST mistakes with a local timezone converter.
4 min read
How DNS Records Work: A, AAAA, MX, CNAME, and TXT
Read public DNS records to debug domains. Lookups send the hostname to resolve them.
5 min read
Why Your Unix Timestamp Is Off by Hours (or 55 Years)
Seconds vs milliseconds, UTC vs local, and Excel serial dates. How to convert an instant in the browser without uploading a log dump.
11 min read
Best Unit Converters for Students and Engineers
Length, temperature, bytes, Unix time, pressure, and more - fast unit converters that work offline in your browser.
5 min read