Date Time Converter

Convert between Unix timestamps, JavaScript milliseconds, ISO 8601, ISO 9075, RFC 3339, RFC 7231, Mongo ObjectID and Excel serial dates. Auto-detects the input format.

Convert one moment in time into every format you might need.

Timestamp formats explained

Seconds or milliseconds

The most common mistake when handling dates is mixing the two up. Unix timestamps count seconds since 1970-01-01 UTC; JavaScript's Date.now() counts milliseconds. Feed a Unix timestamp straight into the Date constructor without multiplying by 1000 and you land in January 1970. As a rule of thumb a 10-digit number is seconds and a 13-digit number is milliseconds, which is exactly how the auto-detection here decides.

The standards and how they differ

  • ISO 8601 is the baseline standard: 2024-01-15T10:30:00.000Z. The T separates date from time and Z means UTC.
  • RFC 3339 is a stricter profile of ISO 8601 aimed at internet protocols. It requires an explicit offset, so it writes +00:00 rather than Z.
  • ISO 9075 is the SQL standard form, 2024-01-15 10:30:00 — a space instead of T, and no timezone. This is what most databases print.
  • RFC 7231 is the HTTP date format used in Date, Expires and Last-Modified headers, always in GMT.

The two odd ones out

A Mongo ObjectID is 12 bytes and the first four are the creation time in Unix seconds, so every ObjectID carries a timestamp inside it. This tool extracts it when decoding; when generating one it zero-fills the remaining eight bytes rather than inventing machine and counter values.

Excel serial dates count days since 1899-12-30, with the fractional part representing the time of day. The odd epoch exists because Excel deliberately reproduces a Lotus 1-2-3 bug that treated 1900 as a leap year. Using 1899-12-30 as day zero makes every date from March 1900 onward line up correctly, which is why this converter uses it.

Everything is one instant

Whatever you type, the tool parses it into a single JavaScript Date and re-renders that one instant in all eleven formats. Nothing is sent anywhere — the conversion runs entirely in your browser.

Frequently asked questions

Why does my Unix timestamp show 1970?
You almost certainly passed seconds where milliseconds were expected. Multiply by 1000, or pick "Unix seconds" as the input format so the tool handles it for you.
What is the difference between ISO 8601 and RFC 3339?
RFC 3339 is a stricter subset of ISO 8601 for internet protocols. Every RFC 3339 date is valid ISO 8601, but not the reverse — RFC 3339 always requires a numeric UTC offset such as +00:00, while ISO 8601 also allows Z, week dates and ordinal dates.
Can I get a timestamp out of a Mongo ObjectID?
Yes. The first 4 bytes (8 hex characters) of an ObjectID are the creation time in Unix seconds. Paste the ObjectID and the tool decodes that instant into every other format.
Why is the Excel epoch 1899-12-30 and not 1900-01-01?
Excel intentionally kept a Lotus 1-2-3 bug that treats 1900 as a leap year. Shifting the epoch back to 1899-12-30 cancels the resulting off-by-one, so all dates from March 1900 onward convert correctly.
Is my data sent to a server?
No. All parsing and formatting happens locally in your browser with the standard Date API. Nothing is uploaded or logged.