Unix timestamp converter
Convert Unix timestamps to dates and back. Handles seconds and milliseconds, shows UTC and local time, and runs entirely in your browser.
Runs in your browser
Your browser
From your IP
Any timezone
What a Unix timestamp is
A Unix timestamp counts the seconds elapsed since 1970-01-01 00:00:00 UTC, a moment called the epoch. It carries no timezone: the same instant has the same timestamp everywhere on earth, which is exactly why systems store time this way and convert to a local calendar only when displaying it.
Seconds or milliseconds?
This is the single most common source of a “my date is in 1970” bug. Different platforms picked different units:
| Source | Unit | A 2025 timestamp looks like |
|---|---|---|
Unix date +%s, PostgreSQL, Go, Python time.time() | seconds | 1754438400 |
JavaScript Date.now(), Java System.currentTimeMillis() | milliseconds | 1754438400000 |
The quick check is length. A seconds value for any date near now has 10 digits; a milliseconds value has 13. Feeding a milliseconds value to something expecting seconds lands you somewhere around the year 57000; the reverse lands you in January 1970.
Getting the current timestamp
date +%s # shell, seconds
Date.now() // milliseconds
Math.floor(Date.now() / 1000) // seconds
import time; int(time.time())
SELECT EXTRACT(EPOCH FROM NOW()); -- PostgreSQL
The year 2038 problem
Systems that store the timestamp in a signed 32-bit integer overflow at 2147483647, which is 2038-01-19 03:14:07 UTC. The counter wraps to a large negative number and the
date jumps to 1901. Modern 64-bit platforms are unaffected, but the issue still surfaces
in embedded firmware, older file formats, and database columns declared as 32-bit.
A note on timezones
The timestamp itself is absolute, but the calendar date you convert it to is not. This converter shows both UTC and your browser’s local time, and they will differ whenever your offset is not zero, sometimes by a full calendar day. When you compare a converted date against another system’s, check you are comparing the same zone before assuming there is a bug.
Your data stays here
The conversion is arithmetic performed in your browser. Nothing you type is sent anywhere.