Satellite Pass Tracker
Forecast observer-relative satellite passes from TLE data and compare rise times, elevation filters and sky direction in calendar-ready windows.{{ summaryTitle }}
{{ summaryLine }}
Pass brief
Observation check
- Face {{ selectedPass.rise_azimuth }} before {{ formatLocalTime(selectedPass.rise_iso) }}.
- The path peaks at {{ selectedPass.max_elevation }}; compare that clearance with buildings, trees, and terrain.
- TLE propagation predicts geometry, not optical visibility, transmitter activity, or link quality.
The profile renderer is unavailable. The pass values remain available in the brief and ledger.
| # | Rise | Max | Set | Duration | Peak | Rise az | Set az | Copy |
|---|---|---|---|---|---|---|---|---|
| {{ row.rank }} | {{ row.rise }} | {{ row.max }} | {{ row.set }} | {{ row.duration }} | {{ row.max_elevation }} | {{ row.rise_azimuth }} | {{ row.set_azimuth }} |
{{ calendarExportStatus }}
{{ calendarIcs }}
A satellite pass is local. The same spacecraft can be high in one observer's sky, below another observer's horizon, or visible at a different time hundreds of kilometres away. Planning therefore needs both an orbit description and a precise observing position.
Orbit forecasts commonly begin with a two-line element set (TLE), a compact snapshot of an object's mean orbit at a stated epoch. Propagation carries that snapshot forward to estimate the spacecraft's position. The estimate becomes less dependable as the element set ages, especially after drag changes or maneuvers.
- Rise and set
- The moments the predicted track crosses the observer's mathematical horizon.
- Elevation
- The angle above the horizon, from 0° at the horizon to 90° overhead.
- Azimuth
- The compass bearing around the horizon, measured clockwise from north.
- Maximum elevation
- The highest predicted point of one pass, often used to filter low tracks behind local obstructions.
High elevation does not guarantee that a satellite will be visible to the eye or usable for radio. Sunlight, darkness, antenna pattern, terrain, buildings, frequency, transmitter activity, and current orbital data all affect the real observation. A forecast is a time-and-direction plan, not a detection promise.
For repeatable comparisons, keep the TLE, observer coordinates, start time, time window, and elevation threshold fixed. For an actual session, refresh the element set and recheck the pass close to the planned time.
How to Use This Tool:
Start by deciding whether the forecast should use current public orbital data or a fixed TLE for a repeatable calculation.
- Choose Public TLE catalog and search by name or NORAD ID, or choose Manual TLE and paste a name plus line 1 and line 2. Confirm the catalog match before forecasting.
- Select the Observer source. IP Geolocation is approximate, City Search uses a mapped place, Browser GPS requests device permission, and Manual Coordinates gives the most controlled repeat-test input.
- Set Start time and Lookahead. A blank start means now; a fixed local date and time is better when another person must reproduce the window.
- Choose Minimum elevation. Leave it at 0° to retain horizon-crossing passes, or raise it to exclude tracks that never clear the obstruction angle you care about.
- Set the Propagation step from 5 to 120 seconds. Shorter steps create denser crossing brackets but require more work over a long window.
- Run Forecast passes, then select a row in the Pass ledger. Check rise, maximum, set, sweep direction, TLE epoch, and the elevation profile before adding the window to a calendar.
Interpreting Results:
Next qualifying pass means the earliest retained pass whose maximum elevation is at least the selected threshold. It does not mean the brightest, strongest, or most observable pass.
- Use rise and set as the planned window, then allow practical setup time before rise.
- Read the azimuth sweep as where to begin looking and where the track is expected to finish.
- A low, short pass is more vulnerable to horizon obstructions and timing error than a high pass.
- If no pass qualifies, lower the minimum elevation, widen the lookahead, verify the observer position, and confirm that the TLE matches the intended object.
Technical Details:
The forecast is topocentric: Earth-centered orbital positions are converted into look angles from one observer. An SGP4-compatible propagation uses the selected TLE at each sampled time, then converts the propagated position to elevation and azimuth for the observer's latitude, longitude, and height.
Transformation Core
The useful result appears only after several coordinate and time transformations. Each stage changes what the numbers mean.
| Stage | Input | Result |
|---|---|---|
| Orbit propagation | TLE and UTC sample time | Estimated Earth-centred satellite position |
| Earth rotation | Propagated position and sidereal time | Earth-fixed position at that instant |
| Observer conversion | Earth-fixed position and observer coordinates | Local elevation and azimuth |
| Pass assembly | Ordered look-angle samples | Rise, peak, set, sky path, and duration |
Rule Core
- Sample from the selected start through 1 to 168 lookahead hours using a 5 to 120 second coarse step.
- Open a pass when elevation changes from below 0° to at least 0°, and close it when the next bracket crosses below 0°.
- Refine each crossing by repeatedly halving its bracket until it is about one second wide or 24 refinements have run.
- Search the refined interval at roughly 1 to 5 second spacing for maximum elevation, then build a profile at roughly 5 to 15 second spacing.
- Discard passes shorter than 30 seconds. Keep a pass when maximum elevation is greater than or equal to the selected minimum, sort retained passes by rise time, and keep the earliest 1 to 50 rows.
Formula Core
Duration comes from the refined crossing times. The sky plot converts elevation into radial distance from the overhead point and wraps azimuth into one compass turn.
D is displayed whole seconds, e is elevation in degrees, and a is azimuth in degrees. Compass labels choose the nearest 45° direction from N through NW.
If the satellite is already at or above 0° when the scan starts, the first sample becomes the beginning of that retained interval. Its displayed duration covers only the portion inside the requested window, not the true rise from below the horizon.
Privacy and Accuracy Notes:
Public-data and location choices determine what leaves the browser. Satellite catalog search sends the search text or NORAD ID to a public TLE service. City Search sends the place text to OpenStreetMap; IP Geolocation detects and geolocates the public IP address; Browser GPS uses the browser permission flow. Manual TLE plus Manual Coordinates avoids those lookup requests.
- After the TLE and observer coordinates are available, propagation and pass filtering run in the browser.
- TLE age, maneuvers, drag, observer-position error, and coarse sampling can shift predicted times and directions.
- The 0° boundary is a mathematical horizon. Trees, buildings, terrain, antenna limits, and atmospheric conditions are not modeled.
- Calendar times are exported in UTC even though the visible ledger formats times in the browser's local timezone.
Worked Examples:
Planning a clear ISS pass
A current ISS catalog match, confirmed observer coordinates, and a 20° minimum may leave fewer rows than a 0° search. Select the earliest retained row and use its rise azimuth, peak elevation, and set azimuth to plan where the unobstructed sweep must be.
Reproducing a forecast
Paste the same TLE, use fixed manual coordinates, enter the same start time, and keep lookahead, step, and minimum elevation unchanged. Matching inputs isolate later differences from a changed element set or observing site.
References:
- A New Way to Obtain GP Data, CelesTrak, updated June 23, 2026.
- NORAD Two-Line Element Set Format, CelesTrak.
- Orbital Coordinate Systems, Part II, CelesTrak.
- Copyright and License, OpenStreetMap contributors.