How to use the Unix timestamp converter
A Unix timestamp is the number of seconds elapsed since 00:00:00 UTC on 1 January 1970, not counting leap seconds. It is the most universal way computers represent time, because a single integer pins down one exact moment regardless of time zone or date format.
Why there are both seconds and milliseconds
Early systems (Unix, PHP and Python's time(), MySQL's UNIX_TIMESTAMP()) use seconds, which gives 10 digits. JavaScript's Date.now(), Java's System.currentTimeMillis(), and most mobile and front-end frameworks use milliseconds, which gives 13 digits.
Mixing the two is one of the most common sources of bugs in development: send a 13-digit millisecond value to a backend expecting seconds and the date lands tens of thousands of years in the future; treat a 10-digit second value as milliseconds on the front end and the date snaps back to 1970. This tool detects the unit from the digit count and shows both, so you don't fall into that trap.
Timestamps and time zones
Here is the key idea: a timestamp has no time zone. It is an absolute point in time. The same timestamp means the same instant anywhere in the world. Time zones only come into play when you convert a timestamp into a human-readable date string.
So the same timestamp 1750000000 shows as a certain afternoon in UTC+8, an earlier time the same day in UTC, and the previous day in New York — but on the timeline they are one and the same point. This tool shows UTC, Beijing time (UTC+8) and your local time side by side, which makes cross-time-zone debugging much easier.
Common uses
- API debugging: see at a glance when the backend's
createdAt: 1750000000actually was - Log analysis: turn the timestamps in a log into readable times and pin down when the failure happened
- Database queries: build conditions like
WHERE created_at > 1750000000 - Caching and signatures: compute token expiry, or check whether a request timestamp falls inside the valid window
The year 2038 problem
A signed 32-bit integer maxes out at 2147483647, which corresponds to 03:14:07 UTC on 19 January 2038. Past that moment, older systems storing second-level timestamps in 32 bits overflow. Modern systems generally use 64-bit integers, which reach about 292 billion years out, so the problem doesn't apply. The 2000000000 entry in the quick-reference list above is there so you can watch that critical range.
Frequently asked questions
Can I enter both 10-digit and 13-digit values?
Yes. The tool decides from the digit count: up to 10 digits is treated as seconds, 11 to 13 digits as milliseconds, and it always outputs both units so you can compare.
Why is the converted time 8 hours off from what I expected?
That usually means you're comparing UTC against Beijing time. A timestamp is an absolute point; UTC expresses it in the zero-offset zone. Beijing time is UTC+8, so for the same timestamp it reads 8 hours later than UTC. The tool displays both, so comparing them side by side removes the confusion.
When converting a date to a timestamp, which time zone is the date interpreted in?
Your local time zone, which is what most development scenarios expect. If your input is meant as UTC, adjust the number yourself, or add 8 hours to the result (for Beijing time).
Which date formats are supported?
2026-10-15 14:30:00, 2026/10/15 14:30, 2026-10-15T14:30:00Z, and a bare date 2026-10-15 (treated as 00:00:00 that day) are all recognised.