🕒 ISO 8601 Formatter

🔧 Mode

📝 ISO 8601 String

Accepts dates (extended/basic/ordinal/week), times, datetimes with offsets, durations, intervals, and recurring intervals.

📝 Build ISO 8601

📝 Duration

Enter a number (seconds) or an ISO 8601 duration string.

📝 Base + Duration

⏰ Current Instant

Shows the current UTC time as ISO 8601 and the epoch in milliseconds.

📤 Output

⚠️ {{ error }}

ℹ️ About ISO 8601 Formatter

ISO 8601 is the international date and time notation used for unambiguous interchange between systems. It covers calendar dates, times of day, UTC offsets, week dates, ordinal dates, durations, time intervals, and recurring intervals. RFC 3339 narrows that family into the timestamp profile most often used by web APIs, logs, JSON payloads, Atom feeds, and database exports.

Use this formatter to parse ISO 8601 strings, generate RFC 3339 timestamps, inspect UTC conversion, convert seconds into P... or PT... durations, and add durations to a base date or datetime without relying on a permissive browser date parser.

Supported ISO 8601 forms

  • Calendar dates: extended 2026-05-26 and basic 20260526.
  • Ordinal dates: 2026-146 or 2026146, where the last three digits are the day of year.
  • Week dates: 2026-W22-2 or 2026W222, using ISO weekday numbers where Monday is 1.
  • Times: 14:30:00, 14:30:00.123, T143000Z, and offset-bearing forms.
  • Date-times: 2026-05-26T14:30:00+02:00, 2026-05-26T12:30:00Z, or a single-space separator for common web timestamp input.
  • Durations: PT1H30M, P1Y2M3DT4H5M6S, P10W, and signed durations such as -PT15M.
  • Intervals: start/end, start/duration, and duration/end, for example 2026-05-26T00:00:00Z/P1D.
  • Recurring intervals: R3/2026-05-26T00:00:00Z/P1D for three repeats, or R/... for an unbounded recurrence marker.

ISO 8601 vs. RFC 3339

ISO 8601 is broad: it includes compact dates, week dates, ordinal dates, durations, and intervals. RFC 3339 is intentionally smaller for internet timestamps. It uses a four-digit year, extended calendar date, full time with seconds, and an explicit offset such as Z or +02:00. If you are designing an API field named created_at, expires_at, or timestamp, RFC 3339 is usually the safer interchange target; use the wider ISO 8601 forms when you specifically need week numbers, day-of-year values, durations, or intervals.

Practical examples

Input What to check Expected meaning
2026-05-26T14:30:00+02:00 Parse timestamp 2026-05-26T12:30:00Z
2026-W22-2 Convert ISO week date Tuesday, 2026-05-26
2026-146 Convert ordinal date Day 146 of 2026
5400 Duration from seconds PT1H30M
2026-05-26T00:00:00Z + P1DT1H Add duration 2026-05-27T01:00:00Z
R3/2026-05-26T00:00:00Z/P1D Parse recurrence Three daily intervals from the start instant

Use cases

  • API contracts: confirm whether a field should accept a full RFC 3339 timestamp, a date-only value, or an offset-free local time.
  • Log and audit correlation: normalize offset-bearing timestamps to ...Z before comparing events from different regions.
  • Data imports: translate week-date or ordinal-date feeds into regular calendar dates before loading CSV, JSON, or database records.
  • Scheduling rules: inspect interval strings such as start/duration and recurring intervals before wiring them into jobs.
  • Calendar arithmetic: add P1M, P7D, or PT30M to a known base date while keeping the original offset explicit.

Limitations and edge cases

  • Offsets are not time zones: +02:00 is a fixed offset, not an IANA zone such as Europe/Helsinki. This tool does not apply daylight-saving rules.
  • Offset-free date-times stay offset-unknown: 2026-05-26T14:30:00 can be parsed, but UTC conversion is only available when Z or +/-HH:MM is present.
  • Duration totals are contextual: years and months do not have a fixed number of seconds. The duration mode reports an approximate seconds total, while add mode applies years and months against the supplied calendar date.
  • Basic and extended syntax should stay consistent: avoid mixing compact dates with colon-separated times in strict integrations.
  • Week 53 is conditional: ISO week 53 only exists for years whose week-numbering calendar actually contains a 53rd week.
  • Extended timestamp annotations are out of scope: RFC 9557-style bracketed time-zone annotations are not parsed by this formatter.

API Usage Example:

POST /api/tools/time/iso-8601-formatter
Content-Type: application/json

{
    "operation": "parse",
    "input": "2026-05-26T14:30:00+02:00"
}
Ready