Orbit Lab

A satellite propagator and an orbital canvas, running entirely in your browser. CelesTrak element sets go in; positions, ground tracks, look angles and a staged conjunction sieve come out, at whatever rate this machine can manage.

Nothing here is computed on our side. The page loads a WebAssembly module, a packed element-set snapshot and a coastline — four static files — and does the rest locally. There is no endpoint behind this page, so the propagations-per-second figure below is a measurement of your hardware.

The globe

Loading the propagator…

frames per second

propagations per second

objects propagated per frame

Drag the globe to rotate it. Scroll to zoom. Pick an object from the list to draw its ground track and its elevation from the observer site.

Controls

Time rate

now

Observer site — Los Angeles, CA

Elevation from the observer site

The selected object's angle above the horizon over the next six hours, from the site above. Geometric elevation — no refraction correction, which lifts a real object by roughly half a degree near the horizon.

Conjunction sieve

Finding close approaches between n objects means examining n(n−1)/2 pairs over a time window. The sieve throws pairs away in three stages, cheapest first: orbits whose radial shells never overlap, then orbits whose paths never come close, then — only for what survives — a step-by-step search in time.

A sieve is only worth having if it is sound. The panel runs the exhaustive all-pairs search alongside it and shows both. If the two ever disagree, the sieve is wrong — a filter that drops a real approach returns fewer survivors, which is exactly what a working sieve looks like.

25 km

Staged sieve against the exhaustive scan, over the same window.
StagePairs surviving
Pairs examined
After the apsis filter
After the orbit-path filter
Close approaches found
Exhaustive scan, pairs examined
Exhaustive scan, approaches found
Do they agree?

What this is, and what it is not

This is orbital mechanics and throughput, and nothing else. The propagator is SGP4 and its deep-space companion SDP4, ported from David Vallado's reference implementation and checked against his own verification set — 666 state vectors, two independent reference implementations, agreeing to a millimetre in position and a micrometre per second in velocity.

A miss distance here is a geometric statement about two propagated curves. Element sets are fitted, they age, and their errors are neither isotropic nor published, so a distance computed from two of them is not a collision probability. Reading it as one would need covariance data this page is never given, and does not ask for.

Where the data comes from

Element sets courtesy of CelesTrak, retrieved 2026-08-09 and converted once, by hand, into the packed snapshot this page loads. Neither this server nor your browser contacts CelesTrak at any point. Coastlines from Natural Earth at 1:110m, public domain, decimated to the tolerance recorded in the artifact's own header and reported below the globe.

Positions are as accurate as the element sets behind them, and those were retrieved on 2026-08-09. SGP4's own error grows from kilometres at epoch; this page is for showing how the mechanics and the sieve work, not for pointing an antenna.