Skip to main content

Unix timestamp converter

Convert timestamps, compare dates, and view across timezones.

Free & unlimited
Current Unix timestamp

Seconds

1789575528

Milliseconds

1789575528576

ISO 8601 UTC

2026-09-16T16:18:48.576Z

Timestamp
Quick presets
All processing happens in your browser. No data is sent to any server.

The current epoch time sits at the top of the page in three forms — seconds, milliseconds and ISO 8601 UTC — and ticks once a second, so you can grab a fresh value without reloading. Below it, four tabs do the actual work: turn a timestamp into a date, turn a date into a timestamp, show one instant side by side across the timezones you care about, and measure the gap between two timestamps. Seconds and milliseconds are detected automatically from the magnitude of the number, so a 10-digit value and a 13-digit value both resolve to the same moment. Every result carries a copy button, and each converted instant is also rendered as ISO 8601 and RFC 2822 for pasting straight into a log filter, an HTTP header or a test fixture.

Key facts about Unix timestamp converter

Key facts about Unix timestamp converter
Epoch used1 January 1970 00:00:00 UTC, the standard Unix epoch — timestamp 0 is available as a preset
Seconds or millisecondsAuto-detected: a value above 1,000,000,000,000 is read as milliseconds, anything smaller as seconds. In practice 10 digits is seconds, 13 digits is milliseconds
Output formatsUTC long form, your local long form, ISO 8601 with milliseconds and Z, and RFC 2822 (the format HTTP Date headers use)
Relative labelEvery converted instant also gets a human gap — 3 hours ago, in 2 weeks — bucketed by seconds, minutes, hours, days, weeks, months and years
Timezone list24 named zones from UTC and Honolulu through Kolkata, Shanghai and Auckland, resolved with the browser's own IANA database
Default comparison setNew York, London and Tokyo, each removable, with more added from a dropdown
Quick presets12, including start of today, week, month and year, 1 hour, 24 hours, 7 days and 30 days ago, and 1 hour ahead
Landmark valuesUnix epoch (0), Y2K (946684800) and the 32-bit overflow point (2147483647, 19 January 2038) are one click away
Difference calculatorTakes two timestamps in either unit and reports total seconds and milliseconds plus a days / hours / minutes / seconds breakdown
Date entryA native datetime-local field, read as your computer's local time — not UTC — with Now, Tomorrow and Next week shortcuts
Live clock accuracyRefreshed by a one-second interval, so the displayed value can be up to a second behind the real clock
Built-in referenceA collapsible panel covering the epoch definition, seconds versus milliseconds, the 2038 problem and the common second offsets (3600, 86400, 604800)

What happens to your file

Nothing is converted anywhere but in this tab. The maths is a handful of JavaScript Date operations — divide by 1000, multiply by 1000, hand the result to toISOString or toLocaleString — running in the page that is already loaded. Timezone conversion uses the Intl date-formatting engine built into your browser, which carries its own copy of the IANA timezone database, so even that lookup is local. No timestamp is sent to a server, no API is called on keystroke, and nothing is written to local storage: the zones you add and the values you type disappear on reload. The page keeps working with the network disconnected.

About this tool

  1. 1

    Grab the current epoch

    The top strip shows this second in seconds, in milliseconds and as ISO 8601 UTC. Hover either of the first two and use the copy button — you do not need to touch the tabs to get a value.

  2. 2

    Convert a timestamp to a date

    Paste the number into the first tab. You do not need to say whether it is seconds or milliseconds; a 13-digit value is detected as milliseconds. Four formats and a relative label appear underneath.

  3. 3

    Convert a date to a timestamp

    Switch to the second tab and pick a date and time in the native picker, or use the Now, Tomorrow and Next week buttons. The field is read as local time, so the seconds value you get back already accounts for your offset.

  4. 4

    Compare across timezones

    The third tab lists the same instant in every zone you have added. Remove the three defaults and add the offices, regions or data-centre zones you actually work with.

  5. 5

    Measure a gap

    Paste two timestamps into the fourth tab — mixed units are fine — and read the elapsed time as total seconds and as days, hours, minutes and seconds.

  6. 6

    Use a landmark when testing

    The preset row loads 0, the Y2K instant and the 2038 overflow value, which are the three timestamps worth having in any boundary test.

Specs & compatibility
Input units acceptedSeconds and milliseconds, positive or negative (negative values are pre-1970 dates)
Unit detection threshold1e12 — above it the number is treated as milliseconds
Date fieldHTML datetime-local, minute resolution, interpreted in local time
ISO 8601 outputAlways UTC with a trailing Z, millisecond precision
RFC 2822 outputBrowser toUTCString, for example Mon, 14 Nov 2033 22:13:20 GMT
Timezone engineIntl.DateTimeFormat with IANA zone ids — updated with your browser, not by this page
Live clock interval1000 ms
NetworkNone; the clock comes from your device, so an unsynchronised system clock shows here too
BrowsersAny current desktop or mobile browser; datetime-local input renders as a native picker on iOS and Android
  • Count the digits before you argue with a log file: 10 digits is seconds, 13 is milliseconds. A timestamp that resolves to 1970 almost always means milliseconds were read as seconds; one that lands in the year 55000 means the reverse.
  • Copy the ISO 8601 line rather than the local one when you are pasting into a ticket. It carries the Z and the millisecond field, so nobody has to ask which timezone you meant.
  • The RFC 2822 row is the exact shape an HTTP Date, Expires or Last-Modified header wants, which makes it useful when you are hand-crafting a cache test.
  • Load 2147483647 and look at the date: 19 January 2038. Anything storing a timestamp in a signed 32-bit integer breaks there, which is worth checking in old database columns and embedded firmware.
  • Negative timestamps work. Paste -86400 to get 31 December 1969 — handy when a system uses a sentinel value below the epoch.
  • The difference tab is faster than date arithmetic for answering how long a job ran: paste the start and end timestamps straight out of the log lines.
  • Add UTC to your timezone list even if you never travel. Most servers log in UTC, and having it beside your local time stops the mental subtraction.
  • The clock on this page is your device clock. If the seconds value disagrees with your server, the machine that is wrong is usually the one without NTP.
  • Live epoch clock in seconds and milliseconds
  • Automatic seconds / milliseconds detection
  • ISO 8601 and RFC 2822 output
  • Relative time label
  • 24-zone timezone comparison
  • Timestamp difference calculator
  • 12 date and landmark presets
  • Read the timestamp out of a JSON payload, a JWT exp claim or a log line and find out what moment it actually refers to.
  • Produce a fixed epoch value for a test fixture, including the 1970, 2000 and 2038 boundary cases.
  • Work out how long a batch job took by pasting the start and end timestamps from its output.
  • Check what time a scheduled deploy lands for colleagues in other regions before you announce it.
  • Convert a date you have been given into the integer a database column or an API query parameter expects.
  • Settle whether a stored value is in seconds or milliseconds by converting it both ways and seeing which one is plausible.
Count the digits. A present-day timestamp in seconds has 10 digits and one in milliseconds has 13; the crossover from 10 to 11 digits does not happen until 2286. This page applies the same rule automatically, treating anything above one trillion as milliseconds. If you are unsure, convert the value and look at the result: a date in 1970 means you handed seconds-based code a millisecond value, and a date thousands of years in the future means the opposite.
A Unix timestamp has no timezone — it is a count of seconds since a fixed instant in UTC. What differs is the rendering. The Local row uses your operating system timezone, the UTC row does not, and the timezone tab shows the same instant in as many zones as you add. If two people disagree about a timestamp, they are disagreeing about display, not about the moment, and the ISO 8601 line is the one to quote because it always ends in Z.
Systems that store a timestamp in a signed 32-bit integer cannot represent anything past 2147483647 seconds, which is 03:14:07 UTC on 19 January 2038; the next second wraps to a negative number and lands in 1901. The preset on this page loads that exact value so you can use it as a test input. Modern 64-bit platforms and most current languages are fine, but old database schemas with a 32-bit integer column, embedded devices and legacy C code are worth auditing.
Yes. Negative timestamps count backwards from the epoch, so -1 is 31 December 1969 at 23:59:59 UTC and -86400 is exactly one day before the epoch. Type the minus sign and the value converts normally, with the relative label reading in years. Systems differ in how well they handle negative epoch values, so if you are generating test data for one, confirm that it accepts them before relying on the behaviour.
No, and neither does any Unix timestamp. Unix time is defined as if every day were exactly 86,400 seconds, so the roughly 27 leap seconds inserted since 1972 are simply not counted — a leap second repeats a timestamp value rather than adding a new one. That is why epoch arithmetic is safe for durations but is not a precise count of physical seconds elapsed. If you need that, you are looking for TAI, not Unix time.
No. Conversion is a few lines of JavaScript Date arithmetic in the page you already loaded, and the timezone rendering uses the Intl formatter built into your browser. There is no API call when you type, nothing is logged, and nothing is kept — the timezones you add and the values you enter are gone after a refresh. The page continues to work with the network switched off, which is the simplest way to confirm it.
View all

Updated

We use anonymous analytics to improve ToolChamp. No personal data is stored or sold. Privacy Policy