Audited ·Last updated 27 Jul 2026·6 citations·Tier 1·0 uses

Time Zone Converter

Free time zone converter. Convert any clock time between UTC offsets with fractional-offset support (India +5.5, Nepal +5.75) and day-shift tracking.

Time Zone Converter

The hour of day in 24-hour clock at the source location. 0 = midnight, 12 = noon, 23 = 11pm. The calculator does not accept AM/PM — convert mentally first (1pm = 13, 11pm = 23).
The minute of the hour at the source location. Range 0–59. The calculator works in whole-minute resolution; sub-minute precision is rarely useful for civil scheduling.
The source location's UTC offset in hours. Negative is west of Greenwich (US -5 EST, -8 PST), positive is east (UK +0, India +5.5, Japan +9, NZ Chatham +12.75). Step 0.25 supports every real fractional offset in the IANA database.
The destination location's UTC offset in hours. Pick the offset, not the zone name — 'America/New_York' is -5 in winter and -4 in summer because of DST, so always confirm the current offset on the day of the meeting.
Destination hour
17
Hour of day at the destination, 0–23, in 24-hour clock. Combined with the minute output this is the civil clock time someone in the destination zone would read off their wall clock.
Destination minute
0
Destination total minutes
1,020
Day shift
0
UTC hour
17
UTC minute
0

Background.

This time zone converter takes a clock time and a source UTC offset, routes it through Coordinated Universal Time, and returns the matching wall-clock time at any destination UTC offset on the planet — with full support for the fractional offsets civil time really uses, a day-shift counter that tracks when conversion crosses midnight, and a UTC pass-through that exposes the canonical timestamp the world's scientific, aviation, and financial systems agree on. Civil time is built on a deceptively simple idea: every location on Earth has an integer or fractional hour offset from a single global reference, UTC, and converting between two cities is just (source time) minus (source offset) plus (destination offset), wrapped into the 0–1439 minute range with a day-shift bookkeeping bit.

In practice the simplicity is undermined by three things human beings consistently get wrong. First, daylight saving time. Saying 'New York is UTC-5' is true in January and false in July — the actual offset on the ground swings between -5 (Eastern Standard) and -4 (Eastern Daylight) on the second Sunday of March and the first Sunday of November each year, and the dates differ between the United States, the European Union, the United Kingdom, Australia, and the dozens of countries that have changed or abolished DST in the last decade. The bullet-proof move for any cross-border meeting is to look up the current offset on the day of the meeting and feed that integer or fraction into a converter that takes offsets rather than zone names. This tool deliberately accepts offsets, not zone names, so the answer never silently drifts because a DST rule changed in Cairo, Santiago, or Lord Howe Island.

Second, fractional offsets. Most people assume time zones are full-hour ticks, but a non-trivial slice of the world's population lives on half-hour or quarter-hour offsets: India and Sri Lanka are UTC+5:30, Nepal is UTC+5:45, Iran is UTC+3:30, Newfoundland is UTC-3:30, the Marquesas Islands sit on UTC-9:30, and the Chatham Islands of New Zealand keep UTC+12:45 (UTC+13:45 in their summer). A converter that only accepts integer offsets quietly mis-schedules every Indian, Nepalese, Iranian, Newfoundlander, and Chatham Islander meeting it touches. This calculator's offset input accepts any quarter-hour value from -12 to +14, which covers every offset the IANA Time Zone Database currently lists.

Third, the international date line. Conversion that crosses 180° longitude — say, Samoa (UTC+13) calling American Samoa (UTC-11) — produces a same-clock-time answer one calendar day apart, and the day-shift output is the only safe way to keep the date straight.

Below the widget you will find a tour of UTC itself (it is not the same as GMT for high-precision work — UTC includes leap seconds, GMT historically did not), a breakdown of ISO 8601 versus RFC 3339 timestamp formats, the canonical source of all real-world zone data (the IANA tz database maintained at iana.org/time-zones, descended from Arthur David Olson's 1986 release and adopted by every Unix-based system on Earth), and worked examples for business-hour overlap windows, transpacific call planning, and the peculiar geometry of the Chatham Islands' 45-minute offset. Whether you are scheduling a Zoom call with a team in Bangalore, planning a layover in Auckland, or just trying to remember whether London is five or four hours ahead of New York this week, the converter folds the arithmetic into one HH:MM answer and one day-shift bit.

What is time zone converter?

A time zone converter is a function that maps (clock-time, source-offset) to (clock-time, destination-offset) by routing through Coordinated Universal Time. Civil time on Earth is defined as UTC plus a location-specific offset — an integer or quarter-hour fraction in the closed interval [-12, +14] — and converting between two locations is purely arithmetic: subtract the source offset to get UTC, then add the destination offset to get local time at the destination, then normalise the result into the [0, 1440) minute-of-day window while tracking whether the answer fell on the previous, same, or next calendar day. UTC itself is the international civil time standard maintained jointly by the International Bureau of Weights and Measures (BIPM) and the International Earth Rotation and Reference Systems Service (IERS); it ticks at the rate of atomic time (TAI) but is adjusted by occasional leap seconds to stay within 0.9 seconds of solar time (UT1). The set of (zone-name, offset, DST-rule) triples used in actual civil schedules is the IANA Time Zone Database (the 'tz database' or 'zoneinfo'), originally compiled by Arthur David Olson in 1986 and now maintained by Paul Eggert and a public technical committee — it ships inside every Linux distribution, macOS, iOS, Android, Java runtime, Python, and PostgreSQL install in the world. This calculator deliberately operates on raw UTC offsets, not zone names, because zone-name resolution silently changes whenever a country amends its DST rule (Mexico abolished most of its DST in 2022; Brazil abolished its in 2019; Egypt reinstated DST in 2023), and a tool that hard-codes those rules will eventually mis-schedule a meeting. Pick the offset that is actually in effect at the source and destination on the meeting date — the tool will do the arithmetic exactly.

How to use this calculator.

  1. Enter the source clock time in 24-hour format: hour 0–23, minute 0–59. 1pm in the source city is 13; 11:30pm is 23 hours, 30 minutes. The calculator does not accept AM/PM.
  2. Enter the source location's current UTC offset in hours. New York in winter is -5; in summer (EDT) it is -4. London in winter is 0; in summer (BST) it is +1. India is +5.5 year-round (no DST).
  3. Enter the destination location's current UTC offset, again as it stands on the day of the meeting. Tokyo +9, Sydney +10 (or +11 in their summer), Los Angeles -8 (or -7 PDT).
  4. Read the primary output, destination hour, alongside the destination minute — together they form the wall-clock time someone in the destination zone reads off their watch.
  5. Check the day-shift output. 0 means same calendar date as the source. +1 means the call lands on the next day at the destination (common for evening-Pacific to morning-Asia calls). -1 means the call lands on the previous day at the destination (common for morning-Asia to late-night-Americas calls).
  6. Use the UTC hour and UTC minute outputs as a sanity check or to log the meeting in canonical UTC — the format aviation, financial trading systems, and scientific telemetry all use as the universal reference.

The formula.

t′ = (T − 60·Of + 60·Ot) mod 1440

The calculator does all its work in minutes-of-day arithmetic, then re-splits the answer into hours and minutes at the end. Step 1: source_total_minutes = source_hour × 60 + source_minute. This collapses the 24-hour clock into a single integer in [0, 1439]. Step 2: utc_total_minutes = source_total_minutes − fromOffsetHours × 60. Subtracting the source offset removes the local-zone adjustment and gives the canonical UTC clock time, which is the only common ground all zones share. Note that utc_total_minutes can be negative (if the source is east of UTC and the source clock is early enough) or greater than 1440 (if the source is west of UTC and the source clock is late enough). That is fine — we will normalise later. Step 3: dst_total_minutes = utc_total_minutes + toOffsetHours × 60. Adding the destination offset shifts UTC into the destination's local clock. Again the intermediate value may be negative or above 1440. Step 4: dayShift = floor(dst_total_minutes ÷ 1440). This integer counts how many whole calendar days the destination time is offset from the source date. A value of −1 means the destination is the previous day, 0 means the same day, +1 means the next day. Step 5: normalised = ((dst_total_minutes mod 1440) + 1440) mod 1440. The double-modulo is the standard JavaScript idiom for non-negative remainder — vanilla x % 1440 returns negative values for negative x. The result is a clean integer in [0, 1440). Step 6: convertedHour = floor(normalised ÷ 60); convertedMinute = normalised mod 60. The UTC outputs are derived the same way from utc_total_minutes. The whole pipeline is closed-form integer arithmetic — no calendar libraries, no Date object pitfalls, no DST guesswork — which is why it stays correct for any offset the IANA database ever defines.

A worked example.

Example

A New York colleague (UTC-5, Eastern Standard Time in January) wants to schedule a call with a London office (UTC+0, GMT in January) at noon her time. Step 1: source_total_minutes = 12 × 60 + 0 = 720. Step 2: utc_total_minutes = 720 − (-5) × 60 = 720 + 300 = 1020 (which is 17:00 UTC). Step 3: dst_total_minutes = 1020 + 0 × 60 = 1020. Step 4: dayShift = floor(1020 / 1440) = 0 — same calendar date. Step 5: normalised = ((1020 mod 1440) + 1440) mod 1440 = 1020. Step 6: convertedHour = floor(1020 / 60) = 17, convertedMinute = 1020 mod 60 = 0. The London office sees 17:00 (5pm) on the same date. Now flip the scenario: the same New York colleague offers an 11pm call (hour = 23, minute = 0). Step 1: 23 × 60 = 1380. Step 2: utc = 1380 + 300 = 1680. Step 3: dst = 1680 + 0 = 1680. Step 4: dayShift = floor(1680 / 1440) = 1 — next calendar day. Step 5: normalised = (1680 mod 1440 + 1440) mod 1440 = 240. Step 6: 240 / 60 = 4, 240 mod 60 = 0. The London office sees 04:00 the next morning — exactly the kind of edge case that day-shift tracking is built to catch.

hour12
from Offset Hours-5
to Offset Hours0
minute0

Frequently asked questions.

How does the calculator handle daylight saving time?
It does not — and that is deliberate. The calculator takes raw UTC offsets, not zone names. The reason is that DST rules change constantly: Mexico abolished most of its DST in 2022, Egypt reinstated it in 2023, Russia abolished it in 2014, and the United States and the European Union do not synchronise their spring-forward dates. A converter that hard-codes 'America/New_York' silently mis-schedules whenever a rule changes. The bullet-proof move is to look up the current offset on the day of the meeting (a quick web search for 'New York current UTC offset' returns -5 in winter or -4 in summer) and feed that integer or fraction into the calculator. The arithmetic is then exact and immune to legislative drift.
Why does the offset input accept fractional values like 5.5 and 5.75?
Because a meaningful fraction of the planet lives on non-integer offsets. India and Sri Lanka are UTC+5:30 (input 5.5), Nepal is UTC+5:45 (input 5.75), Iran is UTC+3:30 (input 3.5), Newfoundland is UTC-3:30 (input -3.5), the Marquesas Islands sit on UTC-9:30 (input -9.5), and the Chatham Islands of New Zealand keep UTC+12:45 in winter and UTC+13:45 in summer (input 12.75 or 13.75). Australia's central states are UTC+9:30. Any converter that only accepts integer offsets will silently mis-schedule every meeting that touches those zones. The calculator's step is 0.25 hours, which covers every offset the IANA Time Zone Database currently defines.
What is the difference between ISO 8601 and RFC 3339 for timestamps?
ISO 8601 is the broad international standard for date and time exchange, first published in 1988 and revised most recently as ISO 8601-1:2019; it permits a wide range of formats (YYYY-MM-DD, YYYYMMDD, ordinal dates, week dates, durations, intervals) and several ways to encode UTC offsets. RFC 3339, published by the IETF in 2002 as a profile of ISO 8601 for Internet protocols, restricts that flexibility to one canonical form: YYYY-MM-DDTHH:MM:SS.sssZ for UTC or YYYY-MM-DDTHH:MM:SS.sss±HH:MM for offset times. Every modern API — JSON Web Tokens, Atom feeds, Kubernetes timestamps, AWS CloudWatch logs — uses RFC 3339. ISO 8601 is the parent standard you cite in legal contracts; RFC 3339 is the subset you use in code.
Are UTC and GMT the same thing?
For civil scheduling, yes — the offset is the same and most people treat them as synonyms. For high-precision work, no. GMT (Greenwich Mean Time) is mean solar time at the Royal Observatory in Greenwich and ticks with the rotation of Earth, which is irregular at the millisecond scale. UTC (Coordinated Universal Time) ticks at the rate of atomic clocks (TAI) but is kept within 0.9 seconds of GMT by inserting occasional leap seconds (the last one was on 31 December 2016). Aviation, GPS, astronomy, and high-frequency trading all care about the distinction. The General Conference on Weights and Measures voted in 2022 to abolish leap seconds by 2035, at which point UTC will diverge slowly from GMT for the first time in its history.
How does the calculator handle the international date line?
Through the day-shift output. When a conversion crosses the 180° meridian — for instance, Samoa (UTC+13) calling American Samoa (UTC-11) at noon — the destination clock time can be the same as the source clock time but on a different calendar date. The arithmetic returns dayShift = -1 (destination is the previous day) or dayShift = +1 (destination is the next day). The two Samoas are a particularly dramatic example: they are about 100 km apart but always exactly 24 hours apart on the civil clock, because the date line zig-zags between them. Always check the day-shift output before sending a calendar invite; it is the single most common source of cross-Pacific scheduling errors.
How do I find the overlap of business hours between two cities?
Run the converter twice. First, convert the start of business in the source city (say, 09:00 in New York, offset -5) to the destination — that gives you the earliest the destination is reachable. Second, convert the end of business in the source city (say, 17:00 in New York) to the destination — that gives you the latest the destination is reachable. Compare the resulting interval to the destination's own 09:00–17:00 window: the overlap is the workable meeting slot. For New York (-5) to London (+0) the source 09:00–17:00 maps to 14:00–22:00 London time, which overlaps London's 09:00–17:00 from 14:00–17:00, giving a three-hour mutual window. For New York to Tokyo (+9) the overlap is empty — one side has to take an early-morning or late-evening slot.
Why does the calculator output minutes-from-midnight as well as hours and minutes?
Because minutes-from-midnight is the canonical integer form for scheduling math. If you want to compare two destination times, sort a list of meetings, compute the duration between them, or feed the result into a calendar API or spreadsheet, working in minutes-from-midnight is far cleaner than dealing with HH:MM strings. The output is in the closed-open interval [0, 1440), so 0 is midnight, 720 is noon, 1080 is 18:00, and 1439 is one minute before the next midnight. Most calendar systems internally use the same representation.
What is the IANA Time Zone Database and why does it matter?
The IANA Time Zone Database (often called the tz database or zoneinfo) is the canonical machine-readable record of every civil time zone on Earth, its current and historical UTC offsets, and its DST rules going back to 1970 (and often earlier). It was started by Arthur David Olson at the U.S. National Institutes of Health in 1986, is now coordinated by Paul Eggert and a public technical committee under the auspices of the Internet Assigned Numbers Authority, and ships inside every Unix-derived operating system, every major programming language runtime, every database, and every mobile OS in the world. Every time a country changes its DST rule, the tz database is updated within days and the change propagates downstream. The fact that one volunteer-maintained text file is the source of truth for global civil time on every computer you own is one of the unsung wonders of the open-source world.
How does the converter handle midnight and noon as edge cases?
Cleanly. Midnight at the source (hour = 0, minute = 0) gives source_total_minutes = 0. If the conversion subtracts a positive source offset and adds nothing, the result can be negative, in which case dayShift = -1 and the destination shows late-evening clock time on the previous day. Noon (hour = 12) gives source_total_minutes = 720, which never produces a day-boundary surprise because it sits squarely in the middle of the 24-hour window. The double-modulo normalisation ((x mod 1440) + 1440) mod 1440 guarantees the destination time is always in [0, 1440), even for source times exactly at midnight, exactly at noon, or exactly at 23:59 of New Year's Eve.
Can I use the calculator for historical dates before time zones were standardised?
With caveats. Standard civil time zones were progressively introduced from 1883 (the four U.S. railroad zones) through 1972 (the formal adoption of UTC). Before then, each city kept its own mean solar time — Bristol kept different time from London, Kansas City kept different time from St Louis, and the offset between them was a function of longitude (every 15° of longitude is one hour). For dates before about 1900, the safe approach is to convert your local mean solar time to UTC by subtracting longitude/15 hours and treat that as the source offset. The calculator's arithmetic works the same way regardless of era; what changes is whether 'the local clock' was a civil zone or just sun-time at a particular meridian.

In this category

Embed

Quanta Pro

Paid features are coming later.

  • All 313 calculators remain free
  • No billing is enabled
Coming soon