Time Zone List — HTML select snippet
Complete IANA time zone list with current UTC offsets as an HTML select snippet, CSV, JSON, XML, SQL and plain text.
Full list
About the IANA time zone list
The IANA time zone database
The tz database (also called the Olson database or zoneinfo) is the reference used by Linux, macOS, Android, iOS, Java, .NET (since .NET 6 on all platforms), PHP, ICU and browsers. Each zone is identified by an Area/Location name — the largest city of the region that shares the same clock history, e.g. Europe/Paris, America/Argentina/Buenos_Aires, Asia/Kolkata — and carries the complete history of UTC offsets and daylight-saving rules since 1970 (and often earlier).
The list on this page is generated by your browser from its own copy of the database (Intl.supportedValuesOf('timeZone')), and the UTC offsets are computed for the current instant. The offset column therefore reflects daylight-saving time as it applies right now, not a fixed value. A browser without supportedValuesOf falls back to a static list of common zones.
Why not just store "UTC+1"?
- An offset is not a time zone.
Europe/Parisis UTC+1 in winter and UTC+2 in summer;Africa/Lagosis UTC+1 all year. Storing the offset loses the rule and makes future dates wrong. - Rules change: countries move their DST dates (the US in 2007, the EU is debating abolition), abolish DST (Brazil 2019, Mexico 2022), change their base offset (Samoa skipped a day in 2011) or split zones (Ukraine's
Europe/Kyivwas renamed fromEurope/Kievin 2022). The database is updated 5–10 times a year; keep your runtime's tzdata current. - Windows uses its own zone names ("Romance Standard Time"); CLDR publishes the mapping (
windowsZones.xml) and .NET'sTimeZoneInfo.FindSystemTimeZoneByIdaccepts IANA names since .NET 6. - Names such as
EST,CSTorISTare ambiguous (IST is India, Ireland and Israel) and should never be used as identifiers; the database keeps a few of them only as deprecated links. - Some zones have unusual offsets:
Asia/KolkataUTC+5:30,Asia/KathmanduUTC+5:45,Australia/EuclaUTC+8:45,Pacific/ChathamUTC+12:45, andPacific/KiritimatiUTC+14.
Best practices
- Store timestamps in UTC (or with an explicit offset) and the IANA zone of the user or event when you need to display local time or schedule recurring events.
- Let users pick from a list like this one, pre-selected with the browser's guess:
Intl.DateTimeFormat().resolvedOptions().timeZone. - Prefer canonical names; aliases such as
Asia/Calcutta,US/EasternorEurope/Kievstill resolve but are deprecated. - For display, combine the zone with a localized name:
new Intl.DateTimeFormat('en', { timeZone: 'Asia/Jakarta', timeZoneName: 'long' })gives "Western Indonesia Time".