Skip to content

ISO 8601 Date Parser and Formatter

Parsed successfully

ISO 8601 UTC2026-04-15T12:34:56.789Z
ISO 8601 local2026-04-15T12:34:56.789Z
Human readable (UTC)Wednesday, 15 April 2026 at 12:34:56 UTC
Human readable (local)Wednesday, 15 April 2026 at 12:34:56 (Z)
Unix timestamp (seconds)1776256496
Unix timestamp (ms)1776256496789
Date only2026-04-15
Time only (UTC)12:34:56
Weekday (UTC)Wednesday
Day of year105
ISO week date2026-W16-3

Estimates for educational purposes — not financial, medical, or legal advice. See terms.

Paste any ISO 8601 or RFC 3339 date/time string and get it reformatted every way you might need it. Useful for debugging API responses, converting between UTC and local time, pulling out the Unix timestamp, and checking what day of the week a specific date falls on.

What the tool accepts

Any valid ISO 8601 date/time string:

  • Date only: 2026-04-15
  • Date with time: 2026-04-15T12:34:56
  • Date with time and milliseconds: 2026-04-15T12:34:56.789
  • With UTC Z marker: 2026-04-15T12:34:56.789Z
  • With offset: 2026-04-15T12:34:56+02:00 or 2026-04-15T12:34:56-05:00

The parser uses the browser’s native new Date(string), which handles all the common ISO forms. Strings without an explicit timezone are interpreted as local time (which is the browser default); strings with Z or an offset are interpreted in UTC. The tool then emits UTC and local-time views side by side so you can see both.

What the tool outputs

For a valid parse, the result shows:

  • ISO 8601 UTC — the canonical form with Z suffix
  • ISO 8601 local — the same instant in your browser’s timezone
  • Human readable (UTC) — “Wednesday, 15 April 2026 at 12:34:56 UTC”
  • Human readable (local) — same in your timezone
  • Unix timestamp (seconds) — integer seconds since the 1970 epoch
  • Unix timestamp (milliseconds) — integer ms (JS Date’s native value)
  • Date only — YYYY-MM-DD, stripped of time
  • Time only (UTC) — HH:MM:SS, stripped of date
  • Weekday (UTC) — day-of-week name
  • Day of year — 1–366 integer
  • ISO week date — YYYY-Www-D alternative notation

Each row has a copy button so you can grab the representation you need without selecting text by hand.

Example: debugging a Slack webhook timestamp

Slack webhook events arrive with a ts field like "ts": "1776263696.123456" (seconds as a float). Convert it by pasting the integer part into a date input, or multiply by 1000 and use JavaScript’s new Date(number). The reverse — taking a human-readable date and producing a Unix timestamp for a test fixture — is what this tool is for.

Example: cross-timezone coordination

A GitHub Actions log shows a job ran at 2026-04-15T16:34:56Z. You’re in Eastern Time (UTC−4 during EDT) and want to know when that was for you locally. Paste the string, read off the “Human readable (local)” line: “Wednesday, 15 April 2026 at 12:34:56 (-04:00)”. Done — the job ran at 12:34 PM your time.

Example: ISO week date conversion

A European payroll system generates files labeled with ISO week dates: “week 16 of 2026, Wednesday”. You need to know the calendar date to reference the file. Parse any date in that week, read off the ISO week date value, and cross-check: 2026-04-15 is “2026-W16-3” (week 16, day 3, i.e. Wednesday). The tool doesn’t parse ISO week dates as input (those need a dedicated parser) but it displays them for every valid calendar-date input.

UTC vs local

The tool shows both UTC and local time because they’re almost always both useful at the same time. API responses are usually in UTC; human-readable displays are usually local. If you’re debugging something that involves both ends of the chain — “my server logged this at 16:34 UTC, what does that look like in my dev tools?” — the side-by-side view is more useful than having to run two separate conversions.

Your local offset comes from the browser, which reads it from the operating system. It’s automatically correct for daylight saving if your OS is — the tool shows whatever offset is active at the moment you load the page.

What this tool does not do

It doesn’t parse non-ISO date formats — US-style slashes, European-style slashes, month names, relative dates (“yesterday”). For those, use the browser’s native new Date() directly or a dedicated date-parsing library like date-fns.

It doesn’t handle ISO week date input — the input is always a calendar date. If you have a string like “2026-W16-3” you’ll need to convert it to a calendar date first.

It doesn’t account for leap seconds. Unix timestamps traditionally don’t either — the one-second discontinuities from leap seconds are smeared or ignored by almost all practical systems.

It doesn’t support timezone names (like “America/New_York”) in input or output. The tool only works with numeric offsets. For zone-aware conversion between IANA zone names, the timezone converter is the right tool. For Unix seconds ↔ human date instead of ISO strings, the Unix timestamp converter is the companion.

Frequently asked questions

What is ISO 8601 and why do APIs use it?

ISO 8601 is the international standard for date and time representation. Its canonical form is YYYY-MM-DDTHH:MM:SS.sss with an optional timezone offset (Z for UTC or ±HH:MM for offsets). APIs use it because it's unambiguous — '04/15/2026' is April 15 in the US and April 4 in most of Europe, but '2026-04-15' means the same thing everywhere. It also sorts lexicographically: if you sort ISO 8601 strings as plain text, they come out in chronological order. For machine-to-machine date interchange, there's no good alternative.

What's the difference between ISO 8601 and RFC 3339?

RFC 3339 is a subset of ISO 8601 that removes some of the older spec's ambiguities — it requires the T separator between date and time (not a space), requires explicit timezone offsets, forbids certain truncated forms. Modern APIs almost always emit RFC 3339-compliant strings, which are also valid ISO 8601. The tool treats them as equivalent for parsing purposes and shows both labels on the same output row.

Why does the local time differ from UTC?

Because you're not in the UTC timezone. UTC (Coordinated Universal Time) is the reference clock — it's what the servers running most APIs use internally, and it doesn't shift for daylight saving. Your local time is UTC plus or minus your timezone offset. Eastern Standard Time is UTC−5; Central European Time is UTC+1. The tool reads your local offset from your browser and shows both views so you can see what a UTC timestamp actually means in your local clock.

What is a Unix timestamp?

The number of seconds since midnight UTC on January 1, 1970 (the 'Unix epoch'). It's the canonical timestamp format in databases, log files, file systems, and many APIs because it's just an integer — no timezone confusion, no leap year edge cases, no string parsing. The tool shows both seconds and milliseconds because JavaScript's Date object uses milliseconds internally but most other systems use seconds. A Unix timestamp of 1776263696 is 2026-04-15T12:34:56 UTC.

What is an ISO week date?

An alternative date representation where dates are identified by year + week-of-year + day-of-week. '2026-W16-3' means the 3rd day (Wednesday) of week 16 of ISO year 2026. ISO weeks start on Monday and week 1 is always the week containing the first Thursday of the year. It's used mainly in European industry (payroll, manufacturing, logistics) for scheduling and reporting, because it aligns with Monday-starting work weeks. The tool shows it because sometimes you get a week-date string and need to convert it to a calendar date (or vice versa).