Skip to main content

UTC offset calculator

Find the UTC offset of any place on any date, or every place on an offset, in every notation.

What a UTC offset is

A UTC offset is how far a place's clocks are from UTC, the world's reference time, at a given moment. It's written as a plus or minus number of hours and minutes, like UTC+9 or UTC−3:30.

The arithmetic is simple: local time = UTC + offset, and so UTC = local time − offset.[1] If it's 14:00 UTC, a place on UTC+9 shows 23:00 and a place on UTC−5 shows 09:00.

Reading the plus and minus signs

  • Plus means ahead of UTC. Places east of Greenwich, like Tokyo (UTC+9), reach each hour before UTC does.
  • Minus means behind UTC. Places to the west, like New York (UTC−5 in winter), reach each hour later.[2]
  • Zero is UTC itself, often written with a Z, for "Zulu", in timestamps like 2026-10-04T18:00:00Z.[1]

Offsets in use run from UTC−12 to UTC+14.[3] A place on UTC+14 and one on UTC−11 can be 25 hours apart, which is why it can be two different dates in two places at the same moment.

Offsets vs time zones

An offset and a time zone aren't the same thing, and the difference catches people out:

  • One time zone can have two offsets. New York is UTC−5 in winter and UTC−4 in summer, so "New York" isn't a fixed number.[2]
  • One offset is shared by many zones. On a day in October, UTC+1 covers London on summer time and Lagos on standard time. Use "By offset" above to see who shares any offset on any date.
  • Offsets change over time. Governments move them, so a place's offset in 1980 can differ from today's. The history under "By place" shows this, from 1970 on: before that, the time zone data is incomplete and often wrong.[4, 5]

That's why software should store a place's time zone, like America/New_York, and work out the offset for each date. For more, read how time zones work and daylight saving time.

Half-hour and 45-minute offsets

Most offsets are whole hours, but there are nearly 40 offsets in use once you count the rest.[3] A few to know:

  • Half hours: India (UTC+5:30), Iran (UTC+3:30), Afghanistan (UTC+4:30), Myanmar (UTC+6:30), central Australia (UTC+9:30) and Newfoundland (UTC−3:30 in winter).
  • Quarter hours: Nepal (UTC+5:45), the Chatham Islands (UTC+12:45 in winter) and Eucla in Western Australia (UTC+8:45).
  • A half-hour clock change: Lord Howe Island moves its clocks by only 30 minutes in summer, from UTC+10:30 to UTC+11.

Every one of these is in the IANA data that the calculator reads.[4] For the full list, see the list of time zones.

Offset notation formats

The same offset turns up written several ways. For a place five hours behind UTC:

FormatWritten
PlainUTC−5
RFC 3339 / ISO 8601 extended-05:00
ISO 8601 basic-0500
GMT formGMT−5
IANA fixed zoneEtc/GMT+5
Military letterR (Romeo)

Internet timestamps use the RFC 3339 form, with a colon, or Z for UTC: 2026-03-20T09:00:00-04:00.[1]

Watch the Etc/GMT zones: their signs are reversed. Etc/GMT+5 is five hours behind UTC, because the names follow the old POSIX convention of counting west as positive.[6] The calculator shows the matching Etc name for any whole-hour offset so you don't have to flip it in your head.

Military letter zones

Armed forces, ships and aviation name whole-hour offsets with letters of the radio alphabet, so a time can be written as 0600R and spoken "zero six hundred Romeo".[7]

LetterSpokenOffset
ZZuluUTC+0
A–IAlpha to IndiaUTC+1 to UTC+9
K–MKilo to MikeUTC+10 to UTC+12
N–YNovember to YankeeUTC−1 to UTC−12
JJulietLocal time, wherever you are

J is skipped in the sequence and means local time. Half-hour offsets have no letter. Don't rely on the letters in email dates: the email standard says they were defined wrongly long ago and should be treated as unknown.[8] The military time zones resource has the full table.

Developer notes

Ask for the offset of a zone at a moment, rather than storing offsets. In JavaScript, the timeZoneName option can return the offset itself:[9]

new Intl.DateTimeFormat("en-US", {
  timeZone: "America/New_York",
  timeZoneName: "longOffset",
}).format(new Date("2026-07-01T12:00:00Z"));
// "7/1/2026, GMT-04:00"

# Python 3.9+
from datetime import datetime
from zoneinfo import ZoneInfo
datetime(2026, 7, 1, 12, tzinfo=ZoneInfo("America/New_York")).utcoffset()
# datetime.timedelta(days=-1, seconds=72000)   -> -4 hours
  • Store zone IDs, not offsets. An offset saved today is wrong half the year for places with daylight saving time.
  • Don't parse abbreviations into offsets: CST and IST each mean more than one zone.[5]
  • Keep time zone data current. Python's zoneinfo reads it from the system or the tzdata package.[10]

More in programming with time zones.

Frequently asked questions

What is my UTC offset?

The calculator opens on your own place, worked out from your device's time zone. The large number at the top is your offset right now.

Is UTC the same as GMT+0?

For offsets, yes: UTC+0 and GMT+0 are the same. The names differ in history, which UTC vs GMT explains.

Why does a place have two offsets?

Because it uses daylight saving time: one offset for standard time and one, usually an hour later, for summer. The year band shows exactly when it switches.

How do I convert a time using an offset?

Subtract the offset to get UTC, then add the other offset. The time zone converter does this and shows the working.

Sources

  1. 1.IETF, RFC 3339: Date and Time on the Internet: Timestamps. An offset is local time minus UTC; the ±hh:mm and Z notation.
  2. 2.U.S. Department of Transportation, Daylight Saving Time. US clocks moving between standard and daylight time.
  3. 3.Wikipedia, List of UTC offsets. The number of offsets in use and the UTC−12 to UTC+14 range.
  4. 4.IANA, Time Zone Database. Each place's offsets and their changes over time.
  5. 5.IANA, Theory and pragmatics of the tz code and data. Pre-1970 data being unreliable, and abbreviations being ambiguous.
  6. 6.IANA tz project, The etcetera file. Etc/GMT zone names using POSIX's reversed sign.
  7. 7.Wikipedia, Military time zone. The lettered zones and the ACP 121 standard that defines them.
  8. 8.IETF, RFC 5322: Internet Message Format, section 4.3. Military zone letters being unreliable in email dates.
  9. 9.MDN, Intl.DateTimeFormat() constructor. The timeZoneName option, including its offset styles.
  10. 10.Python documentation, zoneinfo: IANA time zone support. Getting offsets from IANA zones in Python.
  • List of time zones

    resource · Every time zone with its UTC offset, abbreviation, local time and next clock change, always up to date.

  • How time zones work

    guide · How offsets, boundaries and local rules decide the time in a place.

  • UTC vs GMT

    guide · How UTC and GMT differ, and when the difference matters.

  • Military time zones

    resource · The lettered military time zones from Alpha to Zulu, live, with a date-time group generator and a place-to-letter lookup.

  • Programming with time zones

    guide · How to store, convert and display times correctly in software.