What Is a TLE? Two-Line Elements, Explained
Every satellite position WatchSat draws starts as two lines of fixed-width text, in a format inherited from 1960s punch cards. Here’s what a Two-Line Element set encodes, who publishes them, and why the numbers only make sense inside one specific model: SGP4.
By the WatchSat team · Reviewed August 29, 2026 · Sources: CelesTrak, Space-Track.org
A whole orbit in 138 characters
A Two-Line Element set — TLE — is a snapshot of one object’s orbit at one stated instant, called the epoch. Each of its two lines is exactly 69 characters, every field living in fixed columns, because the format was designed for punch cards and has outlived them by half a century. Into those 138 characters go the six classical orbital elements — inclination, right ascension of the ascending node (RAAN), eccentricity, argument of perigee, mean anomaly, and mean motion — plus the epoch itself, a drag term, and the bookkeeping: catalog number, launch designator, an element-set counter, the orbit count, and a checksum on each line.
A real ISS element set, decoded
Here is the ISS, verbatim from the catalog snapshot bundled with WatchSat, with an epoch of July 15, 2026:
ISS (ZARYA) 1 25544U 98067A 26196.76640667 .00004078 00000+0 82095-4 0 9992 2 25544 51.6311 158.6576 0006718 300.0875 59.9447 15.49019038576187
Line 1 is identity, time, and drag:
25544U— NORAD catalog number 25544; the U means unclassified.98067A— international designator: piece A of the 67th launch of 1998. That launch was Zarya, the station’s first module, so the ISS still flies under its birth certificate.26196.76640667— the epoch: day 196.76640667 of 2026, which is July 15 at 18:23:38 UTC. Every other number describes the orbit at exactly this moment..00004078— half the rate of change of mean motion, in revolutions per day squared: a first hint of how fast drag is shrinking the orbit.00000+0— a second-derivative term that is, in practice, always zero.82095-4— the B* drag term with implied decimal point and exponent: 0.82095 × 10⁻⁴ per Earth radius. Columns were too precious to spend on a real decimal point.0and999— ephemeris type and element-set number — then a final checksum digit,2.
Line 2 is the orbit itself:
51.6311— inclination in degrees: the orbit’s tilt to the equator, and the reason the ISS ground track never leaves the band between 51.6°S and 51.6°N.158.6576— RAAN in degrees: where the orbit crosses the equator heading north, which pins the orientation of the orbital plane in space.0006718— eccentricity with an implied leading “0.”: 0.0006718, a nearly perfect circle.300.0875— argument of perigee: where within the plane the orbit’s low point sits.59.9447— mean anomaly: how far around the orbit the station was at the epoch.15.49019038— mean motion, revolutions per day. This one number sets the orbit’s size: 15.49 revolutions per day is a 92.96-minute period, which works out to a mean altitude near 420 km.57618— revolution number at epoch. The five-digit counter rolled past 99,999 in 2016; the true figure here is 157,618 orbits.7— the line’s checksum.
The checksum at the end of each line
To validate a line, add up every digit it contains, count each minus sign as 1, ignore letters, periods, plus signs, and spaces, and keep the last digit of the sum — it must equal character 69. It is a mod-10 check from the punch-card and teletype era, built to catch a single mangled character, and it still earns its keep: WatchSat verifies both checksums on every line pair it downloads and drops anything that fails, rather than parse a corrupted orbit.
Who publishes TLEs
The observations come from the US Space Surveillance Network — radars and telescopes around the planet — and are fitted into element sets by the US Space Force’s 18th Space Defense Squadron, typically one to several times per day for each active object. The official distribution point is Space-Track.org (free, registration required). Most trackers, WatchSat included, fetch them from CelesTrak, which has redistributed and curated orbital data since the 1980s and maintains ready-made groups such as the roughly 16,000-object “active” catalog.
Why a TLE only makes sense with SGP4
Here is the part most explanations skip. The numbers in a TLE look like textbook Keplerian values, but they are not the satellite’s true instantaneous (“osculating”) elements — they are mean elements, statistically fitted so that one specific analytic model, SGP4, reproduces the tracking observations. Feed them into a plain two-body Kepler propagator, or even a far more sophisticated numerical integrator, and your positions get worse, not better. The data and the algorithm are a matched pair.
SGP4 — Simplified General Perturbations 4 — is a compact 1970s-vintage theory that models the perturbations that matter most: the steady westward drift of the orbital plane caused by Earth’s equatorial bulge (about 5° per day for the ISS) and atmospheric drag via the B* term. For orbits with periods of 225 minutes or more, its deep-space companion SDP4 adds lunar and solar gravity and resonance effects; modern libraries bundle both behind one interface. Propagated this way, a fresh low-Earth-orbit element set is good to roughly a kilometre, with errors growing by one to a few kilometres per day.
Why TLEs go stale
Two things kill them. The first is drag: air density at 400 km swings enormously with solar activity, so the fitted drag term is only ever a recent average — a geomagnetic storm in February 2022 famously dragged 38 freshly launched Starlink satellites back into the atmosphere within days. The second is maneuvering: the moment the ISS reboosts, or a Starlink nudges itself along on its ion thruster, the old fit describes an orbit the satellite is no longer in. Fresh element sets are kilometre-accurate; after days to weeks they can be off by tens of kilometres or more. That is why the catalog republishes daily and why WatchSat displays the age of its data.
What WatchSat does with them
WatchSat fetches CelesTrak’s active catalog through an edge-cached proxy (the cache holds responses for about 30 minutes) roughly every 2 hours while the tab is open, checksum-verifies every line pair, and hands the survivors to SGP4 — the open-source satellite.js implementation — running in a background worker thread. The worker returns exact position and velocity samples and the GPU interpolates between them, which is how thousands of orbits stay smooth even at high time-warp. A bundled snapshot, the same file the example above was taken from, means the globe works instantly on first load. You can see the end product any time: the ISS, live.
Keep reading
- How to spot the ISS tonight — turn the element set above into a sighting with your own eyes.
- How many satellites are in orbit? — what the catalog these lines come from actually contains.
Home · Live satellite tracker · Satellite directory · Starlink · OneWeb · Navigation satellites · Space stations · Other active satellites · Track the ISS · ISS visible passes · Starlink train · Rocket launches · Aurora forecast · Humans in space · Solar System · Deep Space · Guide: spot the ISS · Guide: what is a TLE? · Guide: how many satellites? · Discovery: Elias 2-24 b · About · FAQ · Data & methodology · Credits · Contact · Privacy · Terms