🌐 EN

📅 ISO 8601 Date Formatter

Type a date/time in any format — ISO 8601, RFC 2822, a Unix timestamp in seconds or milliseconds, and more — and it is auto-detected and shown simultaneously as ISO 8601, RFC 2822, Unix timestamps, local time, and more. Pick a UTC offset to also compute the ISO 8601 representation for that timezone.

GUIDE

Learn more

01

1. What is ISO 8601?

ISO 8601 is the international standard format for dates and times, e.g. "YYYY-MM-DDTHH:mm:ss.sssZ" — year-month-day and hour:minute:second separated by T, followed by UTC (Z) or a timezone offset such as +09:00. It is widely used in logs, API responses, and databases because it is unambiguous to both humans and machines.

02

2. Unix timestamps and offset math

A Unix timestamp counts seconds (or milliseconds) since 1970-01-01T00:00:00Z. This tool auto-detects purely numeric input by digit count — 10 to 11 digits is treated as seconds, 13 digits as milliseconds. To render ISO 8601 at a chosen offset, it adds the offset (in minutes) to the UTC instant, formats the result as a "wall clock" time, and appends the original offset as a suffix — a calculation that stays correct regardless of the browser's own local timezone.

03

3. RFC 2822 and HTTP dates

RFC 2822 (common in email headers) and the HTTP Date header use a format like "Tue, 15 Jan 2024 09:30:00 GMT". JavaScript's toUTCString() produces this format, and Date.parse() can read both it and ISO 8601, so this single tool can convert dates coming from many different sources — log files, API headers, database dumps, and more.

Frequently asked questions

What date formats can I enter?
ISO 8601 (2024-01-15T09:30:00Z), RFC 2822 (Mon, 15 Jan 2024 09:30:00 GMT), Unix timestamps (a number in seconds or milliseconds), and most common date strings recognized by the browser's Date.parse().
How does the tool know if a Unix timestamp is seconds or milliseconds?
If the input is purely numeric, it is classified by digit count: 10-11 digits is treated as seconds (e.g. 1700000000), and 13 digits as milliseconds (e.g. 1700000000000).
How is the ISO 8601 for the selected offset computed?
The UTC instant has the selected offset (in minutes) added to it to get the "wall clock" time at that offset, which is then formatted as year-month-day hour:minute:second.milliseconds with the offset appended as +HH:MM or -HH:MM. The result is always the same regardless of your browser's local timezone setting.
Is the date I enter sent to a server?
No. All conversion happens entirely in your browser's JavaScript and is never sent to a server.