Satvis: 3D satellite tracker and pass predictor
Satvis is a free, open-source satellite tracker that runs in the browser. It draws more than 16,000 satellites on a 3D globe in real time: Starlink, GPS, weather satellites, the ISS and many more. Set your location and it predicts when each one passes overhead. The sky view shows the sky from where you stand. Point your phone up to see the satellites in that direction.
See it in action
What it does
- Visualize satellites on a 3D globe in real time, propagated in the browser with SGP4 from CelesTrak GP element sets (OMM/TLE)
- Show points, labels, orbits, orbit tracks, ground tracks, sensor cones, 3D models and ground station links per satellite, colored by orbit class (LEO, MEO, GEO, HEO)
- Switch catalog groups on and off (Starlink, GNSS, weather, Earth observation, crewed stations), or search for a single satellite
- Select a satellite to see its orbit, its next passes over your locations and its spacecraft details: country, operator, manufacturer, bus, mass and size
- Track a satellite: the camera flies to it and follows it along its orbit
- Save your location or any point you pick on the map, then list the upcoming passes over it and get a local browser notification before one starts
- Find satellites overhead in the ground-level sky view, aimed by dragging or by pointing your phone
- See which satellites you could spot: the sky view dims those in Earth's shadow, too far away or in a daylit sky
- View the globe in 3D, flattened to 2D or in Columbus view, over a base map, star field and terrain you choose
- Add OpenStreetMap buildings to the globe, or Google's photorealistic tiles under the sky view
- Start from the featured views, bookmark your own, and share any view as a link: the url carries the satellites, the components, the locations and the map layers
- Install it as a Progressive Web App and keep using it offline, from a cached element-set snapshot and base map
- Deploy it serverless: static files on a CDN, with an optional Cloudflare Worker serving fresh satellite data
Where the data comes from
Element sets come from CelesTrak as OMM JSON, the format replacing TLE for new objects, and a Cloudflare Worker serves them, refreshed several times a day. Positions are propagated from them in the browser with SGP4, through satellite.js. A snapshot of the same element sets ships inside the app, so everything still works offline. What each satellite is (its country, operator, manufacturer, bus, mass and size) comes from Jonathan McDowell's GCAT: data from J. McDowell, planet4589.org, under CC BY 4.0.
Built with
CesiumJS draws the globe, Vue and Nuxt UI the interface, and Workbox the service worker. The icons are Lucide's, under the ISC license and, for those drawn from Feather, the MIT license: its notice. Everything but the data API is static files on a CDN, so there is no server to run.