Every 19.7 years, global positioning systems face a silent temporal crisis. The GPS system tracks time by counting weeks, but stores this value as a 10-bit binary number. Because 10 bits can only hold numbers from 0 to 1,023, the week counter inevitably rolls back to zero on the 1,024th week. When this happened in 1999 and 2019, older navigation systems suddenly thought they were in the past, causing flight cancellations and software failures worldwide.
The Binary Architecture of Satellite Time
Global Positioning System satellites are essentially ultra-precise atomic clocks orbiting Earth. To determine a receiver's exact location, the device calculates the distance to multiple satellites based on the minute amount of time it takes for radio signals to travel from orbit to ground. Because timing is the bedrock of satellite navigation, the satellite's broadcast signal must transmit a continuous, unambiguous timestamp. When the system was engineered in the 1970s, memory and transmission bandwidth were at an absolute premium. The legacy GPS navigation message was designed to broadcast at a modest rate of 50 bits per second, forcing engineers to make efficient use of every single bit in the data stream.
To broadcast the current date and time within these compact constraints, the original GPS specification separated time into two distinct components: the time of week (measured in seconds from the start of the week) and the week number itself. The week number was allocated exactly 10 binary digits, or bits, in the broadcast data frame. In computing, a bit can represent either a zero or a one. With 10 bits available, the system can represent $2^{10}$ unique values, meaning the week counter can count from 0 up to 1,023 before exhausting its capacity.
The Math of the 19.7-Year Overflow
A counter that tracks 1,024 consecutive weeks covers exactly 7,168 days, which translates to approximately 19.7 years. GPS time formally began its initial epoch at midnight on January 6, 1980 (measured in Coordinated Universal Time, or UTC). Starting from week zero, the satellites faithfully incremented the counter by one every Sunday at midnight. However, when week 1,023 concluded, the 10-bit integer overflowed, causing the transmitted week counter to roll over from 1,023 back to zero.
This mechanical limitation is known as the GPS week number rollover (WNRO). When the counter returns to zero, the satellites do not stop broadcasting, nor do their internal atomic clocks malfunction. Instead, the raw transmitted signal simply reports week zero again. Unless a receiver's internal software is explicitly programmed to recognize which 19.7-year epoch the world is currently in, the device will interpret the incoming signal as if time had wound backward to January 1980.
The Historic Rollovers of 1999 and 2019
The first GPS week rollover occurred on the night of August 21 to August 22, 1999. Coming just months before the year 2000 rollover (Y2K), it served as an early real-world test for legacy computing systems. While core satellite operations continued uninterrupted, some older consumer receivers and specialized timing units failed to handle the transition, misinterpreting the date or rejecting satellite signals entirely because the timestamp appeared invalid.
The second rollover took place on April 6, 2019. By this time, GPS had become integral to global critical infrastructure, serving not only navigation needs but also providing precise timing synchronization for telecommunications networks, electrical power grids, automated financial trading systems, and commercial aviation. Although modern devices handled the event seamlessly, several legacy systems experienced disruptions. Unpatched flight-management computers, maritime equipment, and meteorological sensor packages suffered date resets, leading to temporary groundings of certain aircraft and data corruption in legacy logging hardware.
The Firmware Epoch Trap
A common misconception is that all GPS receivers fail at the exact moment the global satellite signal rolls over. In practice, many hardware failures occur years before or after the official rollover date due to manufacturer workarounds. Anticipating the 10-bit limit, receiver manufacturers often implemented a sliding time window in their firmware. Instead of assuming the epoch started in January 1980, the receiver hardcoded its own reference point based on the date the firmware was compiled.
Under this sliding window approach, a device compiled in 2005 might assume that week numbers represent the 1,024-week period starting in 2005 rather than 1980. While this effectively protected the device during the global 2019 rollover, it introduced a delayed failure mode: the device would roll over exactly 1,024 weeks after its internal reference date. As a result, older GPS receivers deployed in industrial or maritime environments sometimes experience rollover bugs unexpectedly on random dates long after the public rollover event has passed.
Upgrading to 13 Bits and the Future
To permanently resolve the rollover vulnerability, modern satellite navigation systems have modernized their broadcast message formats. Upgraded GPS signals, including Civil Navigation (CNAV) messages broadcast on newer frequencies like L2C and L5, expand the week number allocation from 10 bits to 13 bits. Other global navigation satellite systems, such as the European Union's Galileo, were designed with wider time fields from the outset.
Expanding the week counter to 13 bits allows for $2^{13}$, or 8,192 distinct weeks. An 8,192-week cycle spans approximately 157 years. For GPS systems utilizing the 13-bit format, the week counter will not roll over until well into the 22nd century. However, because the original 10-bit legacy signal (L1 C/A) must still be broadcast to maintain backward compatibility with millions of legacy receivers worldwide, the 10-bit rollover will continue to recur every 19.7 years—with the third historical rollover scheduled for November 2038.
Key takeaways
•The legacy GPS navigation message allocates only 10 binary bits for the week counter, limiting the count to 1,024 weeks (roughly 19.7 years) before resetting to zero.
•GPS week number rollovers occurred globally in August 1999 and April 2019, with the next legacy rollover set for November 2038.
•Many receivers rely on internal firmware reference dates rather than the satellite start date, causing some legacy hardware to experience rollover glitches years away from the official rollover.
•Modernized GPS signals expand the week counter to 13 bits, extending the rollover period to 8,192 weeks (approximately 157 years).