ISS Live Tracker Open live tracker
Explainers

What Is SGP4? How Satellite Position Prediction Works

Updated September 19, 2026 · 6 min read

When a tracker says the ISS is "here, now", it rarely detected that position — it computed it. The computation is done by SGP4 (Simplified General Perturbations Model 4), the standard algorithm that turns a TLE into a prediction of where a satellite is and where it is going.

SGP4 is the quiet engine behind nearly every public satellite display: this tracker, the AR sky finder, pass predictions, and CelesTrak’s own visualisations all use it or a close variant. It is worth knowing how it works — and where its limits are.

SGP4 in one paragraph

SGP4 takes a TLE — a snapshot of an orbit at its epoch — and propagates it: it computes the satellite’s position and velocity at any requested time, earlier or later than the epoch. It was developed for the NORAD space-surveillance catalog, is designed specifically to work with NORAD element sets, and remains the de facto standard for public orbital data.

The "perturbations" in the name are the deviations from a perfect ellipse. The "simplified" model captures the big ones at low altitude rather than solving the general three-body problem exactly.

What SGP4 does with a TLE

  1. Read the element set — inclination, eccentricity, mean motion, epoch, drag term, and the rest — from the TLE’s two lines.
  2. Build a mean Keplerian orbit: the smooth ellipse the satellite would follow with no perturbing forces.
  3. Apply the perturbation corrections — atmospheric drag, Earth’s equatorial bulge (the J2 and related oblateness terms), and slow drift of the orbit’s shape and plane.
  4. Evaluating at the requested time returns a state vector: a three-dimensional position and velocity in an Earth-centred frame.
  5. Downstream, that vector is rotated with the planet’s spin and projected to give the latitude, longitude, and altitude shown on a map — or azimuth and elevation for a ground observer.

Steps 1-4 are pure SGP4; step 5 is the geometry that this tracker (and its explainer) layers on top.

The forces SGP4 models

What it does not model in detail: solar and lunar gravity and solar-radiation pressure. For the ISS these are tiny on the timescales a tracker cares about.

Where SGP4 is accurate — and where it stops

The honest summary: SGP4 is excellent for "where is it now and tonight", usable for this week, and not much more — which is precisely why this site refreshes its element sets every few minutes rather than trusting a single download.

How this tracker uses SGP4

This site runs SGP4 in your browser via the open-source satellite.js port — no server re-propagation needed. Fresh TLEs are fetched from CelesTrak every few minutes; between fetches, SGP4 is re-evaluated once a second to move the map dot, feed the altitude and speed readouts, update the ground track, and drive the AR sky finder.

Because propagation happens locally, the tracker keeps working as a prediction engine even if the network briefly drops — it just uses the last good element set, exactly as a good tracker should.

SGP4 is only as good as its inputs. The what is a TLE? page explains the input format; the Live Telemetry panel on the tracker shows the age of the element set you are currently viewing.

Now that the theory is covered, watch it on the live engine: fresh TLEs, SGP4 evaluated every second, ground track drawn in real time.

Put SGP4 to work — the live tracker re-propagates the orbit every second from fresh element sets.

Open the live tracker

Sources and further reading

Related