MASK

Free — no sign-up

Unix Timestamp Converter

Turn an epoch number into a date, and a date back into an epoch.

Runs entirely in your browser. Nothing you enter is sent to MASK.

Seconds or milliseconds since 1 January 1970. Negative values are allowed.

Auto-detect reads 12 digits or more as milliseconds.

A Unix timestamp counts the time since 00:00:00 UTC on 1 January 1970. The count itself carries no zone and no unit — which is why the same number can read as a date in 2023 or a date in 1970 depending on whether it is seconds or milliseconds. This converter makes both of those explicit instead of assuming.

Seconds are what Unix, PHP, Go, Python's time.time() and most SQL columns store. Milliseconds are what JavaScript's Date.now(), Java's System.currentTimeMillis() and most event pipelines store. Mixing the two is the reason a record occasionally shows up dated January 1970.

Every result below is shown twice: once in UTC, which is what you should store and log, and once in your browser's own zone, which is what you should show a person. The ISO 8601 string is the form to put in an API.

Questions

Is my timestamp in seconds or milliseconds?
A 10-digit number is almost always seconds (Unix, PHP, Go, most databases); a 13-digit one is milliseconds (JavaScript's Date.now, Java, Kafka). This tool detects it and then tells you which it picked, so you can override it when the guess is wrong.
Why do you show UTC and local time separately?
Because they are different instants written down, and an unlabelled date is the most common way a timestamp bug gets shipped. Every date on this page carries its zone: UTC, or your browser's zone with its current offset.
Can I convert a date from before 1970?
Yes. Negative timestamps are real — -86400 is 31 December 1969 — and this tool converts them rather than refusing. Dates reach roughly 275,760 years either side of 1970, which is the limit of the browser's date type.
What is the 2038 problem?
2147483647 is the largest timestamp a signed 32-bit integer can hold: 03:14:07 UTC on 19 January 2038. Systems still storing seconds in 32 bits wrap to a negative number one second later. This tool uses 64-bit floats, so 2147483648 converts normally.
Does anything I enter get sent to MASK?
No. The conversion runs entirely in your browser — there is no request to send. You can close the tab or go offline and it keeps working.