Blog
How do flight tracking apps know where your plane is?

Short answer: most planes broadcast their own GPS position, and thousands of volunteer receivers on the ground (plus satellites over the oceans) pick it up. Tracking companies merge that with radar feeds and airline data. When those signals go quiet, your app is estimating, and a good one tells you so.
I built a flight tracker because none of the ones I tried did what I wanted for a 4-month trip across 3 continents. Before I started, I assumed the little plane on the map was always exactly where the real one was. It usually isn't. Here's where the data actually comes from, and what happens when it runs out.
The plane tells everyone where it is
Most airliners carry a transponder that sends out ADS-B (Automatic Dependent Surveillance–Broadcast). Over and over, many times a minute, the plane broadcasts its GPS position, altitude, speed and identity to anyone listening. It isn't encrypted and you don't need permission to receive it.
In the US, it's not optional. Since 1 January 2020, aircraft flying in most of the busy, controlled airspace have to broadcast ADS-B Out unless air traffic control says otherwise (14 CFR 91.225).
So the hard part isn't getting the plane to talk. It's having someone listening everywhere it flies.
Who's listening
A lot of the listening is done by regular people. FlightAware runs a network of over 30,000 ground receivers, mostly hosted by its own users with a small antenna at home (FlightAware).
Ground receivers only hear planes within line of sight, so they can't see the middle of the Pacific. That's where the other sources come in. FlightAware lists five:
| Source | What it gives | Where it helps |
|---|---|---|
| Ground ADS-B receivers | Live positions, several times a minute | Over land, and planes taxiing at hundreds of airports |
| MLAT (multilateration) | Positions for planes that don't broadcast GPS, worked out from signal timing | Only where 4 or more receivers can hear the same plane |
| Satellite ADS-B (Aireon) | A position at least once a minute | Oceans, poles and remote areas |
| Air traffic control (radar) | Radar positions and flight plans from 45 countries | Including some ocean routes |
| Airline data (FLIFO and ACARS) | Departure and arrival times, cancellations, gates | Whether a flight has actually left or landed |
That last row matters more than people think. "Departed" in your app usually comes from the airline's own report that the plane has left the gate, not from someone spotting it on a map. FlightAware then merges all of this with its own system, which handles over 10,000 position messages a second (FlightAware).
Where the app comes in
Most apps, including mine, don't run any receivers. We pay a data company for access. I use FlightAware's AeroAPI, which charges per request. So every time the map updates, it costs me a little.
That's why trackers don't refresh as often as planes broadcast. The data is there, but asking for it constantly would cost a fortune. In Wheels Up, new position reports usually come in about every 15 seconds while a flight is in the air.
Building this, I found that the data has more gaps than I expected:
- It doesn't exist yet. Live flight data only covers a short window. In my testing, FlightAware's live flight lookup rejected anything more than about 2 days ahead with "time is too far in the future". For a flight further out, all you get is the airline's published schedule: no tail number, no gate, no delays. That's why trackers show so little about a flight booked for next month.
- Positions at 0,0. Sometimes a flight comes back at latitude 0, longitude 0, which puts the plane in the sea off West Africa. That means "no position", not a real one. I wrote about this in Your plane is somewhere else right now.
- Private planes on airport boards. The departures list for an airport includes small private and training planes with no schedule, so they show up with blank times. I filter them out so the board looks like the one in the terminal.
- Requests fail. Timeouts, rate limits, a weak signal on your phone. If the app only draws what it got from the last request, the plane disappears and reappears.
When the signal goes quiet, the app is guessing
This is the part I care about most. Every tracker has to decide what to draw when it hasn't heard from the plane for a while. Some freeze it. Some hide it. Some keep moving it without telling you.
Here's exactly what Wheels Up does:
How Wheels Up places your plane on the map
- Live: if the last report is less than 90 seconds old, it shows that position. 90 seconds allows for missing one or two reports.
- Projected: if the last report is up to 20 minutes old, it carries the plane forward along its last heading at its last ground speed. It never moves it past the destination, and it only does this for planes doing at least 100 knots. Past 20 minutes, the plane could have turned or been rerouted, so the heading isn't trusted any more.
- From the flight times: with no useful report at all, it places the plane along the route based on how far through the flight it should be. This uses the real takeoff time if the airline reported one, otherwise the departure time plus 13 minutes of taxiing, and the expected landing.
The important bit: anything that isn't live is labelled. You'll see "Estimated · last report 4 min ago" or "Estimated from the flight times" under the plane. If you're picking someone up, it's useful to know whether the plane on your screen is real or a best guess.
The estimate is usually close over a straight ocean crossing. It can be well off during a hold or a reroute around weather, because the app doesn't know those happened until the next real report arrives.
What I took from building this
A flight tracker isn't one feed. It's a pile of signals from planes, volunteers, satellites, air traffic control and airlines, all stitched together, with gaps in between. Every app fills those gaps somehow.
I'd rather the app say "I'm not sure" than show a confident plane in the wrong place. Wheels Up is on Android, and I'm happy to answer questions about any of this.
Receiver counts and data sources are from FlightAware's own pages, checked on 8 November 2026. Other trackers use different networks and may cover some areas better or worse.
Questions people ask
Is flight tracking data real time?
Close to it over land. Ground receivers pick up a plane's position several times a minute, and FlightAware says its multilateration positions lag by 4 to 6 seconds. Apps usually refresh more slowly than that to save data and API costs, so what you see is often 15 to 60 seconds old. Over oceans, satellite updates come roughly once a minute.
Why does my flight disappear or jump on the map?
Usually because a position report was missed or a request failed, and the app has nothing new to draw. Some apps hide the plane until the next report, then it jumps. Others, like Wheels Up, keep moving it along its last heading and label the position as estimated.
Can a flight tracker show my plane weeks before the flight?
It can show the schedule, but not the plane. Live details like the tail number, gate and delays only appear in the days before departure. In my testing, FlightAware's live flight lookup only accepts dates up to about 2 days ahead.