Skip to main content
GNSS Jamming and GPS Spoofing: What They Do to Navigation
Insights

GNSS Jamming and GPS Spoofing: What They Do to Navigation

We jammed and spoofed GPS traces on Baltic city routes. Map matching rode out 60 s outages, but a 200 m spoof pulled every run onto the wrong roads.

Brent van der Heiden15 min read
#gnss jamming#gps spoofing#gps jamming#gps jamming map#gnss interference#galileo osnma#map matching#dead reckoning#baltic sea#navigation

GPS jamming and spoofing have moved from military exercises into everyday European airspace. In the 30 days to 23 September 2026, eight of the ten flight information regions where EASA saw the most interference were in countries around the Baltic and the Black Sea. Aircraft notice first, but every machine that reads a map from a satellite position is exposed: delivery vans, robotaxis, drones, ships, fleet trackers.

We tested what interference does to a route once it reaches a map. We drove three simulated delivery rounds in Gdańsk, Tallinn and Helsinki, generated a GPS trace for each, then cut the signal or faked the position and sent the result through our Map Matching API. Outages of up to 60 seconds barely mattered: the matcher filled the gap along the right roads in 44 of 45 runs. A spoof that pushed the position 200 m sideways for one minute put all six runs on the wrong roads, with up to 1.9 km of route that was never driven.

A simple dead-reckoning check, the kind a car does with its wheel sensors, caught every sudden spoof. A slow spoof that drifted the position by 3 m per second fooled it, and then the check rejected the real signal for kilometres. That is why authenticated signals such as Galileo OSNMA matter.

What GNSS jamming and GPS spoofing are

Satellite navigation signals travel about 20,000 km from orbit and arrive weaker than the background radio noise. A receiver finds them only because it knows the code to correlate against. A transmitter on the ground, much closer than the satellites, easily drowns them or imitates them.

Jamming is noise on the GNSS frequencies. In the words of EASA's Safety Information Bulletin 2022-02R4 (issued 3 July 2026, corrected 22 July 2026), it "prevents receivers from locking onto satellites signals" and renders GNSS "ineffective or degraded" in the jammed area. The receiver knows it has lost its fix.

Spoofing is the broadcast of counterfeit satellite signals that make a receiver compute a wrong position, velocity or time. The receiver may not know anything is wrong. EASA notes that jamming is "typically immediate and noticeable", while spoofing "may be more difficult and not immediate" to detect, "thus posing more safety risk than jamming".

Both work on all four global systems. GPS, Galileo, GLONASS and BeiDou transmit in neighbouring bands around 1.2 and 1.6 GHz, so a wideband jammer can drown all four at once.

Where GPS jamming happens: the map in October 2026

EASA keeps a live list of the most affected flight information regions. It flags jamming from the navigation integrity category that aircraft broadcast over ADS-B, and spoofing from impossible speeds between two reported positions. As of 23 September 2026 the 30-day ranking was:

RankFlight information regionAreaSpoofing also seen
1AnkaraTürkiyeyes
2BucharestRomania, Black Seayes
3WarsawPoland, Balticyes
4VilniusLithuania, Balticyes
5SofiaBulgaria, Black Seayes
6TallinnEstonia, Balticyes
7YangonMyanmaryes
8IstanbulTürkiyeyes
9RigaLatvia, Balticyes
10JeddahSaudi Arabia, Middle Eastyes

The bulletin itself names "the south and eastern Mediterranean, Black Sea, Middle East, Baltic Sea, and Arctic area" as the regions most affected, around "conflict or geopolitical risk zones", and says jamming and spoofing have grown in "intensity and sophistication" since February 2022.

National figures show the scale. Lithuania's Communications Regulatory Authority counted 1,022 pilot reports of GNSS interference in June 2025 alone, and 302 between January and early March 2026, as reported by the public broadcaster LRT. Finland's Traficom reported on 21 April 2026 that observations had "risen clearly since February 2026". Across the airlines that share flight data with IATA, GPS signal-loss events rose by 220% between 2021 and 2024.

On 25 March 2025 the three UN agencies for aviation, shipping and telecoms, ICAO, IMO and ITU, issued a joint statement asking states to protect satellite navigation from harmful interference and to keep conventional navigation aids running as a backup.

If you are looking for a GPS jamming map, two public ones use the same ADS-B idea. EASA's list above ranks regions over the last 7 and 30 days. GPSJAM colours a hexagon grid each day by the share of aircraft reporting low navigation accuracy. Both see only where aircraft fly and receivers listen, and both measure the effect at altitude.

What jamming and spoofing do to aircraft, ships, drones and cars

Aircraft. EASA lists the effects crews have seen: spurious terrain "PULL UP" alerts, corrupted ADS-B surveillance, "uncommanded turns", wrong position or GNSS altitude on the navigation display, and clocks or fuel computations that go wrong. A position can stay wrong after the aircraft has left the affected area. EASA asks states to keep ground aids such as ILS, DME and VOR operational as a fallback.

Ships. Traficom's April 2026 notice says interference at sea is concentrated in the eastern Gulf of Finland, and tells boaters that "chart plotters should therefore not be relied on blindly and a paper chart should be carried on board". A ship's AIS broadcast takes its position from GNSS, so a spoofed ship also shows up in the wrong place on everyone else's screen.

Drones. A drone uses GNSS to hold position, follow a mission and return home. Without it, position hold depends on other sensors, such as a downward-facing camera, or the drone drifts. Traficom warns that interference "may also affect drone operations further inland" near the eastern border, where airliners are the usual victims.

Cars and road fleets. Ground level is better shielded. The same Traficom notice reports that "at ground level, the GNSS interference situation is normal", because terrain and vegetation dampen the signal. Road users can still meet small jammers at street level. Any such device is an unauthorised transmitter, and EASA's bulletin asks national authorities to stop the "proliferation, sale, circulation and operation" of them. For a car the bigger risk is spoofing, as our test shows.

How navigation systems cope

No single defence covers both attacks, so receivers and the software behind them stack several.

  • Multiple constellations and frequencies. A receiver that tracks GPS, Galileo, GLONASS and BeiDou on two frequency bands has more signals to lose. That helps against narrow or single-band interference and does little against wideband jamming.
  • Inertial dead reckoning. Wheel-speed sensors, a gyro and accelerometers carry the position forward while GNSS is gone. The error grows with distance, so dead reckoning bridges seconds to minutes. It also gives a reference to check GNSS against: a fix that disagrees with where the car can physically be gets rejected.
  • Map matching. Vehicles drive on roads, so a matcher snaps the trace to the road network and routes through any gap. Our map matching explainer covers how the Hidden Markov Model behind it works.
  • Signal authentication. Galileo's Open Service Navigation Message Authentication, OSNMA, was declared operational on 24 July 2025. It signs the navigation message, so a receiver can reject data a spoofer forged. It is free, it needs public keys from the European GNSS Service Centre, and it is mandatory in second-generation smart tachographs in trucks. The European GNSS Service Centre states that OSNMA does not prevent spoofing or protect against jamming. It lets a receiver detect forged navigation data and discard it.

Our test: jamming and spoofing on three Baltic delivery rounds

We ran a controlled experiment to see how each defence holds up once a trace reaches the road map.

  1. Truth. Three car rounds through five or six waypoints each, like a delivery or taxi shift: Gdańsk (25.0 km, 53 minutes), Tallinn (23.8 km, 46 minutes) and Helsinki via Ring I (46.2 km, 56 minutes), from the MapAtlas Directions API on 2 October 2026.
  2. GPS trace. One fix per second along each route, with correlated receiver noise of about 3.5 m RMS, close to a phone or car receiver under open sky.
  3. Interference. Jamming removed every fix for 10, 30, 60 or 120 seconds, at five points along each round. Spoofing displaced every fix for 60 seconds by 50 m, 200 m or 1 km, or teleported it to a fixed point 15 km away, at two points along each round. A slow "drag" spoof grew the offset by 3 m per second to 180 m.
  4. Processing. Every trace went through the MapAtlas Map Matching API twice: as received, and after a dead-reckoning filter. The filter simulates an odometer and gyro (1% scale error, 0.02° per second heading drift). It fills missing fixes, and it rejects any fix more than 15 m plus 5% of the distance driven away from where dead reckoning says the vehicle is.
  5. Score. We compared each matched route with the truth and counted the length of matched road more than 20 m from the real route.
Runs in which the matched route left the real route for more than 100 m
Simulated 1 Hz GPS traces on three car rounds in Gdańsk, Tallinn and Helsinki, matched with the MapAtlas Map Matching API on 2 October 2026. Jamming: 15 runs per gap length; spoofing: 6 runs per case. Dead reckoning is a simulated odometer and gyro with a plausibility check. Road data © OpenStreetMap contributors.
CaseRunsOff route over 100 m, matcher aloneMedian off-route lengthWorst runOff route over 100 m, with dead reckoningWorst run
10 s outage1500 m0 m00 m
30 s outage1500 m0 m00 m
60 s outage1510 m122 m067 m
120 s outage1540 m2,997 m1436 m
Pushed 50 m for 60 s64294 m542 m00 m
Pushed 200 m for 60 s66877 m1,859 m00 m
Pushed 1 km for 60 s652,557 m2,748 m00 m
Teleported 15 km for 60 s63185 m941 m00 m
Dragged slowly to 180 m66642 m962 m613,550 m

Off-route length is matched road more than 20 m from the real route. On the clean traces the matched distance was within 22 m of the true length on every round.

Four things stand out.

Short outages are harmless on a road. Up to 30 seconds, the matcher routed through every gap along the right streets. At 120 seconds, a car covers 1 to 3 km, and the matcher took a different road in 4 of 15 runs, up to 3 km of it in Helsinki. Adding dead reckoning cut that to one run. Its own error after two minutes was 24 m in the median run.

A believable lie does more damage than silence. A 200 m push for one minute put all six runs on wrong roads. In a dense grid like central Gdańsk a parallel street is never far, so the matcher found a plausible road for every false fix and reported a confident, wrong route. Distance errors reached 548 m for the 200 m push and 2.2 km for the 1 km push.

Impossible positions are easy to spot. When the fixes jumped 15 km away, the matcher marked all 60 of them unmatched. The damage came from the gap they left, as with jamming.

A slow spoof defeats a simple check. Every sudden spoof failed the dead-reckoning test, because no car moves 200 m sideways in a second. The drag spoof moved only 3 m per second, so every false fix passed. When the offset vanished, the true fixes looked like the jump and were rejected, and the filter followed its own drifting estimate for up to 13.6 km of wrong road. Sudden-jump checks need a second line of defence: authentication such as OSNMA, or comparison against an independent sensor over a longer window.

What this means for product teams

  • Fleet and telematics. Store the raw fixes with their timestamps and the receiver's reported accuracy, and match after the fact. A matched trip survives most jamming. Flag trips where many fixes went unmatched, or where speed implied by the fixes disagrees with the vehicle's own speed signal.
  • Delivery and ride-hailing apps. A spoofed phone can claim a delivery at the door from 200 m away. Treat geofence arrivals as evidence and add a second signal, such as a scan at the door. Our geofence guide covers sizing those zones.
  • Drones and robots. Plan for GNSS loss. A route that stays inside an area where vision or lidar can localise the vehicle survives an outage; open fields and water do not. Choose receivers that support OSNMA if you fly in Europe.
  • Anyone billing on distance. Summing the raw fixes overstated the true distance by 72 to 184 m per round in our clean traces, up to 0.7%, from receiver noise alone. Match before you bill.

The series hub, maps for machines, covers the other layers these vehicles read from the map.

Run the test on your own traces

Send the fixes with their timestamps, so the matcher knows how much time passed across a gap. This is the request we used:

const res = await fetch(
  `https://gateway.mapmetrics-atlas.net/map-matching/?token=${API_TOKEN}`,
  {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      shape: fixes.map((f) => ({ lat: f.lat, lon: f.lon, time: f.unixSeconds })),
      costing: 'auto',
      shape_match: 'map_snap',
      use_timestamps: true,
      trace_options: { gps_accuracy: 5 },
    }),
  },
);
const { shape, matched_points, edges } = await res.json();
// shape: the matched route as a polyline (precision 6)
// matched_points[i].type: "matched", "interpolated" or "unmatched"
const unmatched = matched_points.filter((p) => p.type === 'unmatched').length;

A high share of unmatched points means positions that no road can explain. That is a cheap alarm for a teleporting spoof. Before matching, also drop fixes that jump further than the vehicle could have travelled since the last trusted one. That catches the onset of a sudden spoof, though not a slow drag.

Method and limits

  • Routes: MapAtlas Directions API, costing auto, no live traffic, requested 2 October 2026. Gdańsk: Main Town, Wrzeszcz, Oliwa, Przymorze, Zaspa. Tallinn: city centre, Kadriorg, Pirita, Lasnamäe, Ülemiste, Kristiine. Helsinki: Kamppi, Pasila, Tikkurila via Ring I, Malmi, Kalasatama.
  • Traces: 1 fix per second, timed from the manoeuvre durations of the route; noise is a first-order autoregressive process with 2.5 m per axis and correlation 0.95, fixed seed. Real receivers have multipath in city streets, which this does not model.
  • Matching: MapAtlas Map Matching API, shape_match: map_snap, timestamps, gps_accuracy 5 m, default settings otherwise.
  • Dead reckoning: a simulation, with 1% odometer scale error and 0.02° per second gyro drift. Production systems fuse sensors with a Kalman filter and do better and worse in different places. The gate (15 m plus 5% of distance since the last trusted fix) is a deliberately simple example.
  • What it does not measure: real jammer or spoofer signals, receiver-level detection, OSNMA itself, or how a driver reacts. The interference was injected into the position stream after the receiver.
  • Reproduce it: scripts/seo/blog-keyword-research/gps-jamming-spoofing.py in our repository regenerates every number.

Sources

Frequently Asked Questions

What is GNSS jamming?

GNSS jamming is radio noise transmitted on the frequencies that GPS, Galileo, GLONASS and BeiDou use, strong enough that receivers can no longer lock onto the satellite signals. The receiver loses its position fix, so a car, drone, ship or aircraft has to fall back on other sensors. EASA describes it as intentional radio frequency interference that renders GNSS ineffective or degraded in the jammed area.

What is the difference between GPS jamming and GPS spoofing?

Jamming drowns the signal, so the receiver knows it has lost its position. Spoofing broadcasts counterfeit satellite signals, so the receiver computes a wrong position and may report it with full confidence. EASA notes that jamming is usually noticed at once, while spoofing is harder to detect and poses the greater safety risk. In our simulation a 60-second, 200 m spoof sent all six map-matched runs onto wrong roads, while a 60-second outage did so in 1 of 15.

Where is GPS jamming happening, and is there a map?

EASA publishes a list of the flight information regions most affected, derived from aircraft ADS-B data. In the 30 days to 23 September 2026 the top ten were Ankara, Bucharest, Warsaw, Vilnius, Sofia, Tallinn, Yangon, Istanbul, Riga and Jeddah. The community map GPSJAM.org colours a hexagon grid every day by the share of aircraft that report degraded navigation accuracy.

Does GPS jamming affect cars?

Much less than aircraft. Finland's transport agency Traficom reported in April 2026 that GNSS interference was observed around the clock in aviation in southern and central Finland, while the situation at ground level was normal, because terrain and vegetation dampen the interference. Cars also carry wheel-speed sensors and gyros and snap their position to the road map, which bridges short outages. Spoofing is the bigger risk for road applications, because a believable wrong position is accepted and matched to the wrong road.

How does Galileo OSNMA protect against spoofing?

OSNMA, declared operational on 24 July 2025, adds a cryptographic signature to the Galileo Open Service navigation message, so a receiver that implements it can detect and discard navigation data a spoofer forged. It is free and needs public keys from the European GNSS Service Centre. It does not protect against jamming, so receivers still need dead reckoning and plausibility checks against other sensors.

Found this useful? Share it.

About the author

Brent van der Heiden

Written by

Brent van der Heiden

Co-Founder & CEO at MapAtlas

Brent built MapAtlas out of a conviction that developers deserve location APIs with fair pricing and genuine end-user privacy. Before that he co-founded MapMetrics, a community mapping and navigation app. He writes about geospatial infrastructure, map data, AI search visibility, and how location data powers the products people rely on every day.

View all articles →
Back to Blog