| # | Name | NORAD | TLE epoch |
|---|---|---|---|
| {{ row.rank }} | {{ row.name }} | {{ row.id }} | {{ row.epochLabel }} |
| No satellites loaded yet. Search above or pick a preset. | |||
| # | Rise | Max | Set | Duration | Max elev | Rise az | Set az | |
|---|---|---|---|---|---|---|---|---|
| {{ row.rank }} | {{ row.riseLabel }} | {{ row.maxTimeLabel }} | {{ row.setLabel }} | {{ row.durationLabel }} | {{ row.maxElLabel }} | {{ row.riseAzLabel }} | {{ row.setAzLabel }} |
{{ icsText }}
A satellite pass is the short interval when an orbiting object rises above your local horizon, reaches its highest apparent point, and then sets again. That matters because most practical viewing and radio opportunities are not all-night events. They are narrow windows where timing and direction make the difference between seeing the spacecraft clearly and missing it completely.
This tracker turns that moving geometry into a usable forecast. It can fetch a current two-line element set (TLE) by name or NORAD ID, or it can work from a pasted manual TLE. From there it calculates Rise, Max, and Set times, the Duration (s) of each pass, the peak Max elevation (deg), and the horizon directions for rise and set.
That combination is useful for visual observing, casual spotting, antenna pointing, classroom demos, and radio planning. A high pass can be worth walking outside for. A low one may still count on paper but disappear behind buildings, trees, haze, or a roofline before it becomes obvious to the eye.
The package is built for observer-centered planning rather than for general space awareness. You give it one location and one time window, and it answers a practical question from that exact viewpoint. The selected pass can then be graphed as an elevation curve so you can see whether the climb is gradual, sharp, or barely worth attempting.
It is still a prediction tool, not a guarantee. TLE-based forecasts drift as element sets age, the page does not model clouds or local obstructions, and a high Max elevation (deg) does not promise that the object will be illuminated or radio-quiet at the moment you look. If you want tighter control and repeatability, save a specific TLE snapshot and use a fixed start time.
The quickest route is a preset or a search query, followed by your observer coordinates and a moderate elevation filter. For casual viewing, a Min elevation around 10 to 20 degrees is a practical starting point because it removes many skim-the-horizon passes without hiding genuinely good opportunities. If you already have a saved element set or you want repeatable planning across devices, switch to Manual TLE and paste the lines directly.
Good results depend more on stable assumptions than on over-tuning. Keep the same observer point, the same TLE text, and the same Start time if you want to compare one run to another. Change those inputs casually and the pass list can move even when nothing is wrong with the mathematics.
A common misread is to treat every listed pass as equally usable. It is not. A 70 degree pass with a clean rise direction is often much easier than a longer pass that never gets far above 10 degrees. When the list looks thin or disappointing, the next step is usually to lower Min elevation or lengthen Lookahead, not to assume the tracker failed.
A TLE is a compact orbit description referenced to an epoch, which is the timestamp that tells you when those elements were valid. The page either fetches that data from the public TLE service or accepts pasted text in manual mode, then propagates the orbit forward through your chosen time window from the perspective of one observer location.
The core geometry is topocentric. Elevation is the angle above the local horizon, while Azimuth is the compass bearing measured clockwise from north. A pass begins when the propagated elevation crosses from below 0 degrees to above 0 degrees, peaks at the highest sampled and refined elevation, and ends when the path drops back below the horizon.
The package does more than a rough step scan. It samples the orbit at the chosen Step size, then refines each horizon crossing with a bounded binary search to roughly one second. After that it rescans the pass window with a tighter step to improve the reported Max time and Max elevation (deg). Passes shorter than 30 seconds are discarded, and the final list is filtered by Min elevation and trimmed by Max passes.
The prediction path is deterministic once the observer, TLE, and time window are fixed.
| Input | Package behavior | Accepted range or mode |
|---|---|---|
| Observer latitude and Observer longitude | Required for all computations. Invalid values stop the run. | Latitude -90 to 90, longitude -180 to 180 |
| Lookahead | Sets the forecast window length. | Clamped to 1 to 168 hours |
| Min elevation | Filters out passes whose peak never reaches the chosen threshold. | Clamped to 0 to 90 degrees |
| Step size | Controls the coarse scan resolution before the rise and set refinement pass. | Clamped to 5 to 120 seconds |
| Max passes | Stops the kept list from growing indefinitely. | Clamped to 1 to 50 |
| Manual TLE | Bypasses search and preset lookup. The parser accepts either two lines or an optional name line followed by line 1 and line 2. | Valid line 1 and line 2 required |
The privacy boundary is narrower than many people expect. Orbit propagation, pass finding, JSON generation, ICS generation, and chart building all happen in the browser. Live lookup mode sends the search text or NORAD ID to the public TLE API, but the observer coordinates themselves are kept in the page state. Manual TLE mode removes even that lookup dependency and leaves the entire prediction path on the device.
Comparability depends on the element set and the clock. If you fetch a fresh TLE later, leave Start time blank, or change the observer site by a small amount, the resulting pass list can shift even when the tool is behaving correctly. For repeatable planning, hold all three stable: the same TLE text, the same observer, and the same explicit start time.
Follow one of the two input paths first, then treat the pass table as the decision point.
The most decision-heavy field is usually Max elevation (deg). It tells you how high the object gets above your horizon, which is often the simplest proxy for how easy the pass will be to see or track. Duration (s) helps, but a longer low pass can still be less useful than a shorter high one.
The safest follow-up check is to compare one good pass candidate against one backup. Read the peak elevation, note the rise direction, then keep a second row in reserve in case the first pass is blocked by local conditions.
Using a saved ISS TLE snapshot with epoch 2026-03-07T12:18:20Z, Observer latitude 51.5074, Observer longitude -0.1278, Height 35 m, Start time 2026-03-08 18:00 UTC, Lookahead 12 h, Min elevation 10 degrees, and Step size 30 s, the Passes table includes a strong row with Rise 22:37:34, Max 22:43:02, Set 22:48:30, Duration (s) 656, Max elevation (deg) 71.4, Rise azimuth (deg) 250.5, and Set azimuth (deg) 79.1. That is the kind of pass worth planning around because the peak is high and the directions are clear.
Keep the same observer, TLE, and start time, but raise Min elevation from 10 to 25 degrees. The weaker London passes drop out, including a pass that only peaked around 11.5 degrees and another that topped out near 23.1 degrees. The list shrinks from five rows to three stronger candidates, which is often a better planning view when you only want passes with comfortable clearance above the horizon.
Suppose Manual TLE is enabled and only one orbital line is pasted. The parser does not guess. Instead it reports Manual TLE needs at least 2 lines, and Compute passes cannot produce a pass list. The fix is to paste both numbered lines, or a name line followed by line 1 and line 2, before trying again.
No pass computation request is sent with your observer coordinates. The lookup calls only fetch TLE data by search text or NORAD ID. Orbit propagation and pass finding stay in the browser.
Because the default Start time is the current local time and a fresh lookup can return a newer TLE. For stable comparisons, keep the same TLE text and enter the same explicit start time on both devices.
Yes. Manual mode accepts either a plain line 1 plus line 2 pair or an optional name line followed by those two numbered lines.
Usually the object never rose above your local horizon in the chosen window, or the pass existed but failed the Min elevation filter. Try a longer Lookahead or a lower elevation threshold.
It controls the coarse scan spacing before the rise and set refinement pass. Smaller values make the initial search denser and can improve the bracket for difficult passes, but they also take longer to run.