Skip to Content

TLE

What it is

The two-line element set is the compact format cataloged objects are distributed in. It is read, never written.

A TLE is not a state vector. It is a set of mean elements fitted to the SGP4 model, and that pairing is the single most important thing to know about the format.

A complete set

ISS (ZARYA) 1 25544U 98067A 26176.70356236 .00009385 00000+0 17567-3 0 9997 2 25544 51.6325 257.9368 0004376 231.2480 128.8118 15.49425151573072

The first line is an optional name. Both the two-line and three-line named forms are accepted.

What the lines carry

FieldWhereMeaning
Catalog numberBoth lines, 25544NORAD identifier
International designatorLine 1, 98067ALaunch year, launch number, piece
EpochLine 1, 26176.70356236Two-digit year plus fractional day of year
First derivative of mean motionLine 1, .00009385Decay rate
B-starLine 1, 17567-3Drag term, in a packed exponent notation meaning 0.17567e-3
InclinationLine 2, 51.6325Degrees
RAANLine 2, 257.9368Degrees
EccentricityLine 2, 0004376Implied leading decimal: 0.0004376
Argument of perigeeLine 2, 231.2480Degrees
Mean anomalyLine 2, 128.8118Degrees
Mean motionLine 2, 15.49425151Revolutions per day
Revolution numberLine 2, 57307At epoch

Two fields are written in forms that look like typos and are not. Eccentricity omits its leading 0., so 0004376 means 0.0004376. B-star packs an exponent into the last characters, so 17567-3 means 0.17567 times ten to the minus three.

Both are artifacts of a fixed-column format designed when characters were expensive.

The epoch is the whole story

26176.70356236 is day 176.70356236 of 2026, which is 25 June. Importing this set reports it back:

Imported 1 satellites (skipped 0) -> iss.json Reference epoch: 2026-06-25T16:53:07Z

TLEs are fitted to observations around their epoch. Propagating far from it extrapolates a fit rather than integrating physics, and the result degrades quickly: to kilometers within days and substantially worse across weeks, faster for low-perigee objects where drag dominates.

Always pass the reported epoch as the analysis start. The default start of 2026-01-01T00:00:00Z against a June epoch propagates nearly six months from the fit, and nothing in the output indicates the result is worthless.

Only SGP4 is valid

The elements are mean elements in SGP4’s own theory, not osculating elements another propagator can consume. Propagating them with a numerical or J2 model produces a confidently wrong trajectory, because the arithmetic succeeds while the inputs mean something different from what the model assumes.

Use --model sgp4 on every command that consumes a TLE-imported constellation.

What a TLE does not carry

CarriedNot carried
Mean elements at an epochPayload or field of view
B-star drag termMass, area, attitude
Catalog and international identifiersTransmit power or antenna
Epoch and revolution numberAny covariance

The absence of covariance matters more than it looks. There is no uncertainty information in the data at all, so any probability computed downstream, such as a collision probability, rests on covariance you supplied from somewhere else.

--fov-deg exists on the import commands precisely because coverage analysis needs a sensor and the file has none.

Malformed entries are skipped

The import reports a count rather than aborting:

Imported 24 satellites (skipped 0) -> iss.json

A non-zero skip count usually means a truncated download or a checksum failure rather than genuinely bad objects. It is worth investigating rather than accepting.

See also

Question? Give us feedbackDocuments Varaha Constellation Designer main (pre-release)
Last updated on