The world ran out of five-digit satellite numbers. Does your software know?

On 11 July 2026 the satellite catalog reached number 100000. Much older software can quietly lose every satellite catalogued since. This is a free test kit that shows developers exactly where their code breaks.

A conformance corpus for parsers crossing the five-digit catalog-number boundary

Sixteen cases built from real CelesTrak responses and published specification vectors: Alpha-5 TLEs, six- and nine-digit NORAD_CAT_IDs, and CCSDS OMM in CSV, JSON, XML and KVN. Every expected value traces to a recorded URL, retrieval time and SHA-256. Point the runner at your parser; it tells you, case by case, what breaks and why.

What the catalog looks like todayTracker snapshot

Highest satellite number seen in recent launchesHighest catalog number, last-30-days group

100,789

2026-09-21 05:51 UTC

Recent satellites with six-digit numbersSix-digit objects in that group

231 of 231

2026-09-21 05:51 UTC

Old format asked for recent satellitesTLE request for that group

404

“not found”: none of them fitNo GP data found · 2026-09-21 05:51 UTC

Nine-digit numbers in Starlink launch dataNine-digit ids in the Starlink SupGP feed

yes (27)

2026-09-21 05:51 UTC

Counts and yes/no states only, computed once a day by a scheduled job; this page never contacts CelesTrak. Full tracker with history.

Where to go next

The story

Licence plates, a satellite called SARAMAGO, and why old software goes quiet. No jargon, with a glossary.

The plain-language version of the migration, for colleagues who do not parse TLEs for a living.

The migration

The full technical version: formats, column layouts, the Alpha-5 letter table and what CelesTrak actually returns.

Alpha-5, OMM, what CelesTrak serves, a TLE-versus-OMM side-by-side on the CCSDS example, and what to change.

Findings

What broke when three different programs read today’s data. One bug we found and reported to a popular free library, with a fix we submitted; a second bug, reported by someone else, whose pending fix by another contributor we tested against the corpus.

Naive versus reference versus python-sgp4 across sixteen cases, the CelesTrak TLE 404, provider rendering differences and the upstream reports.

Tools

Turn a satellite number into its new lettered form and back, and take a TLE apart field by field. Everything runs in your browser.

A strict Alpha-5 encoder/decoder checked against the specification vectors, and an interactive TLE anatomy with a paste box. Client-side only.

Library status

Every week we check whether two popular free libraries handle the new numbers yet.

Weekly no-network reproducers against the latest PyPI python-sgp4 and Skyfield, with upstream links.

Activity

The bug reports and fixes sent to the python-sgp4 library, the test kit’s releases, and a timeline of milestones.

Upstream issue and pull-request state from the GitHub API (edge-cached hourly), the corpus's latest release, and a hand-maintained timeline.

How it was built

Where the numbers come from, who checked them, and who is responsible.

Provenance, the independent audit, AI assistance under human direction, NEOGY LLC and the maintainer.