Timezone Converter

Convert an instant between IANA timezones with offset, DST and day-shift.

  • Runs locally in your browser
  • No upload required

Try it

Use an ISO-8601 instant with Z/offset, or a local date-time interpreted in the source zone.

Detected input
instant
Absolute instant (UTC)
2026-01-15T12:00:00.000Z
Source (UTC)
2026-01-15T12:00:00+00:00 (UTC)
Target (America/New_York)
2026-01-15T07:00:00-05:00 (EST)
Target UTC offset
-05:00
Target daylight saving
no
Calendar day shift
0

Supported formats

Input
text
Output
text

Privacy

Runs entirely in your browser. Your input is never uploaded, stored, or sent to a third party.

Processing
In your browser
Privacy level
Browser only

2026-01-15T12:00:00.000Z is 2026-01-15T12:00:00+00:00 in UTC and 2026-01-15T07:00:00-05:00 in America/New_York.

How it works

  • Read the input as an absolute instant, or resolved a bare wall clock using the source zone's offset for that date.
  • Looked up the source and target zones' IANA rules for the instant through the runtime time-zone database.
  • Rendered each zone's wall clock, UTC offset, abbreviation and daylight-saving state, then compared their calendar days.
  • A daylight-saving gap (a local time that does not exist) is rejected rather than shifted.
  • An ambiguous fall-back local time resolves to the earlier of its two instants.

Methodology

  1. Read an ISO-8601 instant with an explicit offset as an absolute instant; otherwise interpret a bare date-time in the named source zone.
  2. Resolve the wall clock to an instant using the runtime IANA database, rejecting nonexistent spring-forward times.
  3. Render both zones with the offset, abbreviation and daylight-saving state that the IANA data reports for that instant.

Time model

  • Time source: an explicit reference supplied by the visitor.
  • Timezone: The input is either an absolute instant or a wall clock resolved in the named source zone; results are rendered in named IANA zones.
  • Locale: No locale-specific formatting: wall clocks are ISO-8601 and offsets are numeric.
  • Daylight saving: Daylight-saving transitions are resolved from the runtime IANA data, including nonexistent and ambiguous local times.
  • Reference date: No implicit 'now': an instant or a local date-time with its source zone is required.

Usage

  1. Enter an ISO-8601 instant with an offset (or Z), or a local date-time.
  2. Choose the source IANA timezone.
  3. Choose the target IANA timezone and read both wall clocks, offsets and the day shift.

Examples

These are examples, not current values: they use fixed inputs, while the interactive tool computes live results in your browser.

UTC to New York in winter

jsonSelect to copy
{
  "value": "2026-01-15T12:00:00Z",
  "from": "UTC",
  "to": "America/New_York"
}

UTC to New York in summer (DST)

jsonSelect to copy
{
  "value": "2026-07-15T12:00:00Z",
  "from": "UTC",
  "to": "America/New_York"
}

Local New York time to Kathmandu

jsonSelect to copy
{
  "value": "2026-01-15T09:00",
  "from": "America/New_York",
  "to": "Asia/Kathmandu"
}

Limitations

Instant versus wall clock

An instant is a unique point in time and can be written with an explicit offset like 2026-01-15T12:00:00Z. A wall clock such as 2026-01-15T09:00 is only meaningful together with a zone, which is why the source zone is required for bare local times.

Frequently asked questions

Why is my local time rejected as invalid?
If you enter a wall clock and it falls in a daylight-saving spring-forward gap, that time never existed in the source zone. Enter an instant with an explicit offset instead.
Does the converter always use current timezone rules?
Yes. It reads the IANA database from your browser at runtime, so DST rule changes are reflected without a site update.

Sources

  1. IANA Time Zone Database — IANA
  2. ISO 8601: Date and time format — ISO