Unix Timestamp Converter
Convert between Unix timestamps and human-readable dates across any timezone — with millisecond precision and real-time epoch display.
Last updated: March 25, 2026
Used 44K+ timesWhat users say
“The JWT "exp" claim example is exactly what I needed — I debug token expiry issues weekly. The timezone-aware conversion is far more useful than a simple epoch calculator.”
“The Y2038 problem FAQ was a pleasant surprise. Shows this was written by someone who actually understands Unix internals.”
Find this tool useful? Support the project to keep it free!
Buy me a coffeeWhat is Unix Timestamp Converter?
The Unix timestamp (also called Epoch time or POSIX time) is a system for describing points in time as a single integer: the number of seconds elapsed since the Unix Epoch — January 1, 1970, at 00:00:00 UTC. This convention was codified by Ken Thompson and Dennis Ritchie when designing Unix in the late 1960s and has become the universal time representation in computing: every major database, operating system, programming language runtime, cloud API, and logging system stores and transmits time as a Unix timestamp.
The format comes in two common variants: **seconds** (10-digit, e.g., `1706745600`) and **milliseconds** (13-digit, e.g., `1706745600000`). JavaScript's `Date.now()` returns milliseconds; Linux `date +%s` returns seconds; Python's `time.time()` returns seconds with fractional milliseconds. This tool converts freely between both variants and any human-readable date representation, with timezone support for converting to a specific local time.
How to Use Unix Timestamp Converter
View the live current Unix timestamp (seconds and milliseconds) updating every second in the top panel
Enter a Unix timestamp (10-digit seconds or 13-digit milliseconds) in the "Timestamp → Date" field to see the human date
Enter a date and time in the "Date → Timestamp" fields to convert it to a Unix timestamp
Select a target timezone from the dropdown to see the local time representation in any timezone
Click any "Copy" button to copy the timestamp or date string to your clipboard
Common Use Cases
- Debugging an API response that returns a timestamp like "expires_at": 1706745600 — convert to verify the actual expiry date
- Converting database timestamp columns (MySQL UNIX_TIMESTAMP, PostgreSQL EXTRACT(EPOCH)) to readable dates
- Analyzing log files showing epoch timestamps — converting each to a human time for incident investigation
- Scheduling a cron job or cloud function to run at a specific Unix time code
- Understanding JWT token expiry (the "exp" claim is always a Unix timestamp)
- Verifying GitHub Actions workflow timestamps or AWS CloudWatch log timestamps
- Building date ranges for API queries that accept epoch time parameters (Slack API, Stripe API)
- Converting "Last-Modified" HTTP header times from HTTP date format to epoch for cache logic
Example Input and Output
Converting a JWT "exp" claim timestamp to a readable expiry date:
{
"iat": 1706659200,
"exp": 1706745600,
"sub": "user_42"
}iat (issued at): 1706659200
→ Thu Jan 31 2024 00:00:00 UTC
→ Wed Jan 30 2024 18:00:00 CST (UTC-6)
exp (expires): 1706745600
→ Thu Feb 1 2024 00:00:00 UTC
→ Wed Jan 31 2024 18:00:00 CST (UTC-6)
Token lifetime: 86,400 seconds = exactly 24 hoursClient-Side Processing
All timestamp conversions run locally in your browser using the native JavaScript Date API. No timestamps are sent to our servers.
Milliseconds in JavaScript
JavaScript always works in milliseconds internally. To convert: seconds → new Date(epochSeconds * 1000). Milliseconds → new Date(epochMs). To get seconds: Math.floor(Date.now() / 1000). The Temporal API (Stage 3 proposal) will standardize this: Temporal.Now.instant().epochSeconds gives seconds directly.
ISO 8601 vs Unix Timestamps
ISO 8601 strings ("2024-02-01T00:00:00Z") are human-readable but harder to sort, compare, and do arithmetic with. Unix timestamps are trivial to subtract (endTime - startTime = duration in seconds), compare (timestamp1 > timestamp2 = chronological order), and sort numerically. Use ISO 8601 for display to humans; use Unix timestamps for storage, comparison, and computation.
Frequently Asked Questions
What is the Unix Epoch and why January 1, 1970?
How do I tell if a timestamp is in seconds or milliseconds?
Are Unix timestamps affected by timezones?
What is the Year 2038 problem?
How do I get the current Unix timestamp in code?
What is the maximum valid Unix timestamp?
How This Tool Works
The live counter uses setInterval(1000) calling Date.now() each second. For timestamp-to-date conversion, new Date(epochSeconds * 1000) creates a Date object from seconds input. For date-to-timestamp, the Date constructor parses the input string and .getTime() / 1000 returns the epoch in seconds. Timezone display uses Intl.DateTimeFormat with the selected IANA timezone identifier for localized time rendering.
Technical Stack