ISO 8601 Parser
Parse ISO 8601 dates, times, durations and intervals into their parts.
- Runs locally in your browser
- No upload required
Try it
Supported formats
Privacy
Runs entirely in your browser. Your input is never uploaded, stored, or sent to a third party.
Parsed as an ISO 8601 date: 2024-02-29.
How it works
- Matched the string against the strict ISO 8601 grammar for dates, times, durations and intervals.
- Validated every component against the proleptic Gregorian calendar, including leap years and ISO week boundaries.
- Returned the components, a normalised form, and the derived weekday, week and ordinal fields.
- ISO weekday 4 (Thursday).
- ISO week 9 of week-year 2024.
- Day 60 of 2024.
Methodology
- Match the string against strict ISO 8601 grammars for calendar, ordinal and week dates, times, durations and intervals.
- Validate every numeric component — month lengths, leap years, ordinal day, ISO week number and offset — before accepting it.
- Normalise the value and derive the ISO weekday, week number and ordinal day from proleptic-Gregorian arithmetic.
Usage
- Enter an ISO 8601 date, time, date-time, duration or interval.
- Run the parser.
- Read the normalised form, the components and the derived weekday, week and ordinal fields.
Examples
These are examples, not current values: they use fixed inputs, while the interactive tool computes live results in your browser.
Calendar date
{
"value": "2024-02-29"
}Date-time with offset
{
"value": "2026-07-15T12:34:56.789+05:45"
}Ordinal date
{
"value": "2026-060"
}Week date
{
"value": "2026-W03-5"
}Duration
{
"value": "P1Y2M3DT4H5M6S"
}Interval with a duration
{
"value": "2026-01-01T00:00:00Z/P1M"
}Limitations
Why strict parsing matters
Lenient parsers silently accept impossible dates or ambiguous separators. This parser only accepts the extended ISO 8601 forms and rejects anything it cannot validate component by component.
Frequently asked questions
- Does the parser accept 2026-02-30?
- No. Every date is validated against the real length of the month, including leap-year February, and an impossible date is rejected.
- Why is a week date normalised to a calendar date?
- The calendar date is the unambiguous form; the original week number and weekday are still returned in the components.
Sources
Send feedback
Tell us if this tool helped, report a problem, or suggest a tool. Only the message you type is sent — never the input you used in the tool.
Was this tool useful?
Prefer to write to us directly? See the contact page.