Guodian Gaoke (China); the Tianqi ('Apocalypse') constellation provides satellite IoT and data connectivity. Phase one closed at 41 satellites in early 2026, and China's industry ministry approved it for the country's first commercial satellite-IoT trials in May 2026; later phases are planned to take the system to several thousand satellites.
Net-active satellites over time, reconstructed from GCAT launch & decay dates. Method →
How dependent this constellation is on a single launch provider, measured as the sum of squared provider shares. Method →
For comparison, Starlink (SpaceX) sits at 1.00, with all launches on one provider.
A directory of the constellations currently in orbit (one row each, grouped by operator), joining a hand-curated catalog to live CelesTrak fleet counts and GCAT activity. Satellite operators run the fleets, distinct from launch providers, which fly the rockets.
Each row is one constellation; an operator can run several (e.g. Eutelsat fields OneWeb in low orbit and a separate GEO fleet), and each is shown as its own row so its counts and deployment math are honest. I curate the operator’s identity (name, country, ownership) and each constellation’s activity tags, status and planned fleet size, then join at request time to live active counts and to deploys/deorbits so far this year.
CelesTrak GP catalog, GROUP=active (the same fetch as the Active satellites metric). A satellite is attributed to a specific constellation by matching its OBJECT_NAME against a hand-curated set of name-prefix patterns, each tagged with its operator and constellation.
Jonathan McDowell’s GCAT (satcat.tsv). Deploys this year = payloads with a launch date in the current calendar year matching the constellation; deorbits this year = payloads with a decay date this year. Net YTD is deploys − deorbits.
Share of the constellation's satellites carried to orbit by each vehicle.
Operator identity, activity tags, status, one-line context, primary/secondary rocket and planned fleet size are hand-curated in src/lib/operator-catalog.ts. Every planned-size figure carries a source URL (source-URL-per-claim); where there is no clean, citable single target the planned size is left blank rather than estimated.
Name-prefix matching, cross-referenced against the GCAT owner field when a constellation’s CelesTrak names don’t reveal the operator. The clearest case is China SatNet’s Guowang: its satellites are catalogued as ‘Hulianwang Jishu Shiyan’ (satellite-internet technology test) / ‘HJS’, not ‘Guowang’, so I attribute them by owner. They are officially designated test satellites widely assessed as Guowang pathfinders; folding them in is a judgment call, flagged here. For the GCAT-derived deployment and fleet-age series specifically, where GCAT lists a satellite under a nickname (GHGSat flies ‘Iris’ and ‘Hugo’, not ‘GHGSat-C1’), attribution falls back to GCAT’s formal program designation (PLName); the primary name is tried first, so hosted payloads stay with their host operator.
The catalog is curated, not exhaustive: 91 operators covering every constellation whose CelesTrak names can be reliably attributed, plus pre-launch operators with a publicly stated plan. A long tail of cryptically-named one-off payloads, rideshare deployment tags, and classified satellites (e.g. NRO USA-###) cannot be attributed from names and remains in the Unmatched bucket, surfaced on the page with its top name prefixes.
17 operators run more than one constellation, and the profile page is one page per operator. Every FIGURE on it is scoped to a single constellation, selected at the top; only identity, name, owner, country, description, describes the company. Adding an operator's constellations together produced numbers that described none of them: Eutelsat reported 679 active satellites against OneWeb's 648-satellite target, one average fleet age for a 4.6-year-old low-orbit fleet and an 8.5-year-old geostationary one, and a deployment curve starting in 2000, two decades before OneWeb existed. The all-fleets overview therefore carries only figures that survive being added, total active, net change, the orbit bands in use, plus a table comparing the fleets; a planned target, an average age, an operational rate, a launch-concentration score and a deployment curve all sit behind the selector. Where the curated primary/secondary rocket (an operator-level field) would describe the wrong fleet, the vehicles that actually carried that fleet are shown from the GCAT launch record instead.
Status is per constellation, operational (active fleet, still deploying), mature (steady-state / replenishment only), building (deploying toward a target), or pre-launch (no active satellites yet, but a stated plan). Deployment % is the constellation’s active count ÷ its own planned size, so multi-constellation operators no longer mix orbits in one bar (Telesat’s mature GEO fleet and its pre-launch Lightspeed constellation are separate rows). For a mature constellation a planned figure may still sit below the active count (replenishment).
Average age and last-launch date are computed from GCAT launch dates over each operator’s GCAT-active set, payloads matched to the operator that have a launch date and no recorded decay date. This GCAT-defined active set differs slightly from the CelesTrak active count shown in the Active column (different catalogues, different update cadence), so average age is a fleet-level approximation, not a figure derived from the exact satellites counted as active. GCAT catalogues new payloads days-to-weeks after they fly, which would leave last-launch showing the previous flight; so where Launch Library 2 records a successful launch this year that is newer than GCAT’s date, matched to the constellation by mission name, the same best-effort rule as Next launch; that later date is shown instead. Failed launches don’t count: they deploy nothing, which is also what GCAT’s payload-derived date means. Average age still uses GCAT alone, so immediately after a launch the last-launch date can be fresher than the fleet the age is computed over.
The representative orbit is the median altitude across the operator’s active satellites, derived from each satellite’s CelesTrak mean motion via Kepler’s third law (semi-major-axis altitude; for eccentric orbits this is the average altitude). Binned as LEO (<2,000 km), MEO, GEO (~35,786 km) or HEO.
Best-effort, from the Launch Library 2 upcoming manifest. An upcoming launch is attributed to an operator only when its mission name carries the constellation prefix (e.g. ‘Starlink Group …’), so it appears mainly for the major named-mission constellations and is hidden elsewhere. NETs slip routinely; this is the operator’s current target date, not a commitment.
Filters apply in the browser over the loaded rows (no refetch); selections are encoded in the URL so a filtered view is shareable. Region is derived from the operator’s country: US, China, EU/ESA (the 22 ESA member states, broader than the EU; includes the UK, Norway, Switzerland), or Other (everything else, including Russia). Orbit class (LEO / MEO / GEO) is the constellation’s median-altitude regime. Launch provider is parsed from the curated primary and secondary rocket fields, so it reflects the operator’s usual launchers and is approximate for multi-constellation operators. Within a category, selections are OR; across categories, AND.
Active counts reflect CelesTrak’s ‘active’ classification, which can lag operator-confirmed status. Attribution is only as good as the name patterns and the GCAT owner data; mis-prefixed satellites are undercounted. Planned sizes are point-in-time figures from the cited source and drift as operators re-file. Average age uses the GCAT-active set (see above). Next-launch coverage is limited to constellations whose mission names carry a recognizable prefix. Values are computed live at fetch time; the directory does not yet show captured history, so step-changes from later methodology updates aren’t yet visualized.
CelesTrak: attribution required. GCAT: Creative Commons CC-BY (J. McDowell, planet4589.org/space/gcat). Launch Library 2 (TheSpaceDevs): attribution required. Operator planned-size figures are attributed per claim to their original source.
How much of this fleet is still working, against every satellite in the same orbit band. Satellites CelesTrak has never assessed are reported as unknown and excluded from the non-operational rate, never counted as dormant.
| Status | Satellites | Share of fleet | All LEO | Differencepercentage points |
|---|---|---|---|---|
| Operational | 29 | 100.0% | 88.1% | +11.9 |
| Partially operational | 0 | 0.0% | 2.3% | -2.3 |
| Backup / spare | 0 | 0.0% | 0.0% | — |
| Non-operational | 0 | 0.0% | 3.1% | -3.1 |
| Unknown | 0 | 0.0% | 6.4% | -6.4 |
| Total on orbit | 29 | 100% | 17,715 |
0.0% of this fleet's assessed satellites are non-operational, against 3.4% for all of low Earth orbit, computed over the 29 satellites here whose status CelesTrak has assessed.