Precision time
GPS clocks ignore leap seconds. UTC respects them. Today the gap is 18 seconds and growing.
UTC ticks paused for leap seconds; GPS time never does.
19:30:42UTC
GPS instant
19:31:00
GPS clock = UTC + 18s. Every future leap second inserted into UTC widens this gap by one.
What an L1 C/A signal carries on the navigation message.
Week 375(cycle 2)
Seconds into week
415,860
0 → 604,800
Raw count since 1980-01-06: 2,423 weeks.
GPS week-number rollover
GPS time is a continuous atomic timescale maintained by the US Naval Observatory and broadcast by the GPS satellite constellation. It was zeroed on 1980-01-06 at 00:00:00 UTC, the moment that became known as the GPS epoch. At that instant the gap between International Atomic Time (TAI) and UTC stood at 19 seconds, so GPS time was defined as TAI minus 19 seconds. That 19-second offset from TAI has never changed and never will.
What does change is how far GPS time drifts ahead of UTC. UTC is stretched, very occasionally, by a leap second to keep it within 0.9 seconds of the Earth’s actual rotation. GPS time is not. Each leap second inserted into UTC therefore widens the GPS-UTC gap by one. The leap-second count since 1980 is now 18, so a GPS receiver reading the broadcast signal and a UTC clock on the wall disagree by exactly that much. See the leap second history for the cumulative tally and the 2022 CGPM decision to retire leap seconds by 2035.
The navigation message a satellite transmits encodes time as two integers. The first is the GPS week number: weeks elapsed since the GPS epoch. The second is seconds-into-week, counted from midnight UTC on Saturday-to-Sunday, ranging from 0 to 604,799. Combined with the offset from UTC, that’s enough to pin any instant uniquely. Position fixes derive directly from the sub-nanosecond timing of these signals; the whole system is a time-of-flight calculation, and a tenth of a microsecond is roughly 30 metres.
The legacy GPS week field is a 10-bit number, which means it can represent 1024 values before wrapping back to zero. That happens roughly every 19.7 years. The first GPS week rollover took place on 1999-08-22, when GPS week 1023 ticked over to week 0 again. The second hit on 2019-04-06. Both events bricked or confused legacy receivers that interpreted the wrapped week as a date back in 1980, with surprise reports of vehicle systems and clocks jumping decades into the past. The next rollover lands around 2038-11-20.
Modern receivers handle this by reading the extended 13-bit week number provided by the GPS Civil Navigation (CNAV) message and modernised L2C, L5, and L1C signals. 13 bits encodes 8192 weeks, which carries past the year 2137 without wrapping. Receivers written before the CNAV era often guess the era from a built-in assumed reference date, which works until the assumed reference falls behind the actual week count.
The relationship is simple. GPS time runs at the SI-second rate of TAI and is fixed 19 seconds behind it. UTC is TAI minus the cumulative leap-second count. So the GPS-UTC offset equals the current TAI-UTC value minus 19. With TAI-UTC at 37 since the 2016-12-31 leap second, GPS-UTC is 37 minus 19, which is 18. Earth’s rotation has been running slightly faster than the atomic baseline since the mid-2010s, so no leap second has been issued for several years; if and when a leap second is added, the GPS-UTC value in this tool steps up by one automatically, since the math reads directly from the IERS leap-second table.
For the formal definition of the SI second, see the time units reference. For why the Earth’s actual rotation differs from an atomic second-counter, see the sidereal day clock. For the per-insertion timeline that drives this gap, see the leap second history.