Time Zone Converter
Read a wall time in one IANA zone and format that instant in another. The zone list is Intl.supportedValuesOf('timeZone'), grouped by country.
Processed entirely in your browser — nothing you enter here is ever uploaded.
Result
About this tool
The datetime field is a local wall time, YYYY-MM-DDTHH:MM, with optional seconds. It is not a UTC timestamp and it does not carry a Z. The page guesses a UTC instant and corrects it up to four times so that formatting that instant in the source zone reproduces the numbers you typed. If the numbers still do not match, the time is rejected. That is the spring-forward case. 8 March 2026 at 02:30 in America/New_York does not exist, and the result line says the time is invalid. 03:30 on that morning does exist and is UTC-04:00, 07:30Z. The ambiguous hour when clocks fall back is accepted as one instant. 1 November 2026 at 01:30 in America/New_York settles on 05:30Z, offset UTC-04:00, which is the first occurrence, not the later EST instant at 06:30Z.
15 January 2026 at 12:00 in America/New_York is 17:00Z and formats in Asia/Kolkata as Thursday, 15 January 2026 at 22:30, GMT+05:30. India does not observe daylight saving, and New York is on EST that day, five hours behind UTC, so the gap is ten hours and thirty minutes. 15 July 2026 at 12:00 in New York is 16:00Z, Eastern Daylight, and the same Kolkata clock reads 21:30. The summer gap is nine hours and thirty minutes. 15 January 2026 at 00:00 in UTC is Wednesday, 14 January 2026 at 19:00 in New York, GMT-05:00. 15 July 2026 at 09:00 in America/Los_Angeles is 12:00 the same day in New York. Both coasts are on daylight time, three hours apart.
The menus are built from the IANA names the browser exposes, grouped with the country table in this project and Intl.DisplayNames. A name the browser does not support cannot be selected. The labels are the city part of the zone id, with underscores turned into spaces. The page opens with the browser's zone on the left and UTC on the right, and the field filled with the current time in that source zone. Swap exchanges the menus only. It does not rewrite the datetime field. Preset pages select a pair such as America/New_York to Asia/Kolkata before the first render. The conversion is the browser's zone data. This page does not ship a private copy of the IANA database, and it does not offer a raw numeric offset as a zone.
Example. 12:00 in America/New_York on 15 January 2026 is 22:30 in Asia/Kolkata, GMT+05:30. On 15 July 2026 the same clocks read 21:30.
Limit. 02:30 in New York on 8 March 2026 does not exist and is rejected. The fall-back hour resolves to one instant. Zones come from the browser's IANA list.
Frequently asked questions
What is 12:00 New York in India?
On 15 January 2026 it is 22:30 in Asia/Kolkata, GMT+05:30, because New York is on EST (17:00Z). On 15 July 2026 it is 21:30, because New York is on EDT (16:00Z). India stays at UTC+05:30.
What happens in the spring-forward gap?
8 March 2026 at 02:30 in America/New_York is not a real local time, and the result says so. 03:30 that morning is 07:30Z, offset UTC-04:00.
Which 1:30 is used when the clocks fall back?
1 November 2026 at 01:30 in America/New_York settles on 05:30Z, UTC-04:00. The later EST instant, 06:30Z, is not the one returned. The parser keeps a single instant.
Where does the zone list come from?
Intl.supportedValuesOf('timeZone') on this browser, grouped by country. The page opens on the browser zone and UTC. Swap exchanges the menus and does not edit the time field.