Active Satellites
Ground Stations
⊞ Load defaults · + Click globe to place
Space, Math & Physics for curious minds
Space, Math & Physics for curious minds
Real-time 3D satellite tracking and ground segment visualisation. Track LEO, MEO and GEO satellites live — powered by SGP4 orbital mechanics and CelesTrak TLE data.
GROUNDTRACK is a real-time 3D satellite tracking platform. It shows the live positions of real satellites orbiting Earth, computed using actual orbital data (TLEs) and the SGP4/SDP4 propagation model — the same algorithm used operationally by space agencies.
You can track satellites across three orbital regimes, add ground stations to see which satellites are in view, travel through time to see past and future positions, and search for any satellite in the CelesTrak database by name.
Orbital data comes from CelesTrak (celestrak.org), a free public source maintained by Dr T.S. Kelso. TLEs are cached for 4 hours to avoid hammering the server. A set of 18 validated satellites is baked in so the tracker works offline or in sandboxed environments.
Click and drag anywhere on the globe to rotate it. On mobile, touch and drag works the same way.
The Earth texture is NASA Blue Marble imagery — actual satellite photography composited into an equirectangular map. The night side shows NASA Black Marble city light data. The day/night boundary updates in real time based on the actual sun position.
The thin cloud layer rotates slightly slower than the surface — a subtle parallax effect suggesting real cloud drift.
The atmospheric glow around the globe is a purely visual addition to give a control-room feel.
Each satellite is shown as a small icon resembling a real satellite: a rectangular body, two solar panel wings, and a parabolic dish antenna. They always face the camera (billboard sprites) so they're readable from any angle.
Satellites are white by default. When they enter a ground station's visibility cone, they change to that station's colour — making it instantly clear which satellite is currently accessible from the ground.
Click any satellite dot on the globe or any item in the side panel list. The camera smoothly pans to centre the satellite in view and the pivot point shifts to the satellite — so dragging now orbits around it. You can zoom in very close to inspect it.
The orbit path is drawn as a coloured ring showing one full orbital period into the future from the current moment.
The detail panel shows: satellite type and regime, current altitude, orbital inclination, orbital period, and live lat/lon position (updated each second).
The name label follows the satellite on the globe and changes colour to match the ground station's colour when the satellite is in view of one.
Each ground station displays a semi-transparent coloured cone extending from its location on the globe surface outward into space. The cone angle represents the station's visibility mask — satellites inside the cone are above the minimum elevation angle and can theoretically communicate with the station.
The cone geometry is physically correct: a 5° minimum elevation angle produces an 85° half-angle cone, covering almost the full hemisphere above the horizon.
When a satellite enters a ground station's visibility cone (elevation ≥ the station's minimum), it changes colour to match that station. The side panel satellite list dots also update. This works across all active (non-hidden) stations simultaneously — first matching station wins if a satellite is in multiple cones at once.
All station configurations — including custom stations, edited values, and hidden states — are automatically saved to your browser's local storage. They are restored the next time you open the page, with no action required.
The bar at the bottom of the globe controls simulated time. By default the tracker runs in LIVE mode showing real current positions. You can travel up to ±24 hours from the present.
When you change the time — by scrubbing, playing forward or backward, or pressing LIVE — every time-dependent element updates simultaneously:
The HUD clock in the top-right header always shows the current real UTC time — it never freezes or scrubs with the simulation, giving you a stable reference point. When not in LIVE mode, the globe crosshair label changes from "LIVE ORBITAL VIEW" to "SIMULATED TIME" in orange as a clear reminder that the globe is showing a different moment than the wall clock.
Typing in the search box immediately filters the satellite list to matching names or types. This is instant — no network call. The regime filter (LEO/MEO/GEO) and search filter work together.
If your search term doesn't match any satellite in the current list, GROUNDTRACK automatically queries the CelesTrak NAME= endpoint after 600ms of typing. This searches their full catalog of thousands of tracked objects.
The tracker supports up to 500 satellites simultaneously. Above this, performance degrades noticeably on most hardware. The cap is enforced when adding via search — you'll see a message if you reach it. The default loaded set is well within this limit.
Pressing Escape clears the search box and returns to the full satellite list. Also cancels ground station placement mode and closes this manual.
SATELLITE NAME (optional)1 NNNNNX XXXXXXXX XXXXXXXX.XXXXXXXX ...2 NNNNN XXX.XXXX XXX.XXXX XXXXXXX ....tle, .txt, or .dat file containing TLE data. Standard 2-line or 3-line formats are supported. Files from CelesTrak, Space-Track, or Heavens-Above all work.