ISO 8601 Ordinal Date Parser
Convert YYYY-DDD ordinal (day-of-year) dates to calendar dates.
Ordinal dates (YYYY-DDD)
The ISO 8601 ordinal date format is YYYY-DDD: a year followed by a three-digit day-of-year from 001 (1 January) to 365 or 366 (31 December — whichever applies in a leap year). The example 2024-074 is the 74th day of 2024, which is 14 March 2024.
Ordinal dates are common in a handful of specific domains:
- Aviation. ICAO flight planning and METAR timestamps often use ordinal dates because they're trivially sortable and immune to month-locale ambiguity. A flight plan dated
2024-074-1230Zsorts correctly as a plain string. - Astronomy. Observation logs and satellite telemetry use ordinal dates (sometimes called "year-day" or "YYDDD" in legacy five-digit form). NASA's SPICE toolkit and JPL's Horizons system accept ordinal inputs directly.
- Mainframe / COBOL. Julian-date fields in fixed-width files are almost always ordinal dates, not the astronomical Julian Day. The old IBM
JULCNVRTroutine works onYYDDDordinals. - File naming. Log-rotation schemes like
app-2024-074.logguarantee chronological sort without tricky month/day padding.
Note that "Julian date" is ambiguous in casual use: an astronomer means the continuous day count since 1 January 4713 BC; a mainframe programmer means an ordinal date. This tool shows you both — the ordinal date in the input row and the Julian Day in the output grid — so you never have to guess which one your source system produced.
Leap years get 366 days. Day 060 is 29 February in a leap year and 1 March otherwise, so be careful when importing ordinal dates without knowing whether the source year is a leap year.
Frequently asked questions
Is 'Julian date' the same as an ISO 8601 ordinal date?
It depends on the domain. In aviation, mainframe, and general business software, "Julian date" almost always means the ISO 8601 ordinal date — year + day-of-year — exactly what this tool parses. In astronomy and spacecraft navigation, "Julian Date" (capital D) means the continuous count of days since noon UT on 1 January 4713 BC, so today's JD is around 2,460,400. This tool shows both: the ordinal date in the input and the astronomical Julian Day in the output grid, so you never have to guess which flavor your data source produced.
What does '2024-060' mean in a leap year vs a non-leap year?
Day 060 is 29 February in a leap year (2024, 2028, 2032) and 1 March in every other year. This is exactly why ordinal dates can be error-prone when round-tripped through code that doesn't know whether the source year is a leap year: a record tagged "2020-060" is 29 Feb 2020, but a re-import into 2021 tooling might be interpreted as 1 March. When ingesting ordinal dates, always preserve the four-digit year as part of the key and let a calendar library do the conversion.
Why three digits for DDD when some days only need two?
ISO 8601 requires fixed-width fields so an ordinal date always sorts correctly as a plain string. "2024-9" is ambiguous (day 9 or day 90?) and sorts after "2024-10" if you compare byte-by-byte. By zero-padding to three digits — "2024-009" — you get a format that's both unambiguous and lexicographically sortable in filenames, log lines, and database varchar columns. Strict parsers will reject shorter forms; permissive parsers will accept them but may produce wrong dates if the input happens to look like a valid shorter form.
Other ISO 8601 Parser cases
ISO 8601 Week Date Parser
Parse YYYY-Www-D week dates into a calendar date and day-of-week.
ISO 8601 Duration Parser
Parse P1Y2M3DT4H5M6S durations into total seconds, days, and human prose.
ISO 8601 Interval Parser
Parse start/end, start/duration, and duration/end intervals including repeats.
All of ISO 8601 Parser
Parse any form — auto-detected.
This is a variant landing page for ISO 8601 Parser. Every transform runs in your browser — nothing you paste is sent to our server or any third party.