| Metric | Value | Copy |
|---|---|---|
| {{ row.label }} | {{ row.value }} |
| # | Name | NORAD | Status | Orbit | Altitude | Epoch age | Copy |
|---|---|---|---|---|---|---|---|
| {{ row.rank }} | {{ row.name }} | {{ row.id }} | {{ row.status }} | {{ row.orbit }} | {{ row.altitude }} | {{ row.age }} |
{{ selectedTleText }}
Communication satellites are spacecraft that relay signals between ground sites, and their orbits shape coverage, latency, and when a link is even possible. Use this satellite orbit status tracker to turn published orbit snapshots into a quick readout of where a satellite sits and how recent that snapshot is.
You provide a satellite name, a constellation keyword, or a catalog number, and the page returns the closest matches and a compact status summary. For a selected match you can see an estimated altitude, an orbit type, orbital tilt, and a freshness estimate for the orbit record.
Suppose you are preparing a ground test for a broadband payload and you want to sanity check that a candidate spacecraft is in low orbit and has a recently updated orbit record. Search for the spacecraft, pick the right entry, and compare its altitude and inclination against nearby siblings in the same constellation.
Orbit records can be stale, duplicated, or published for planned spacecraft long before launch, so treat the status label as a clue rather than a promise. A matching pattern does not prove a satellite is operational, and the most useful signal is usually the combination of freshness and a plausible orbit. If your query contains sensitive program names, consider searching by catalog number instead.
If you need precise ground tracks, visibility windows, or attitude details, you will want a full orbit propagation workflow. For quick triage, reporting, and keeping constellations straight, this summary view is often enough to move to the next step with confidence.
Satellite orbits are often shared as a Two-Line Element (TLE) set tied to a North American Aerospace Defense Command (NORAD) catalog ID. This tool reads a TLE record and focuses on the parts that are most helpful for quick comparisons, the epoch timestamp, mean motion, inclination, and eccentricity.
Mean motion is the average number of revolutions per day implied by the published orbit model, and it correlates strongly with orbital size and period. The tool converts mean motion into an approximate circular orbit altitude using Keplerian relationships, which is best interpreted as a sorting and sanity check value rather than a precision orbit solution.
To keep results readable, the tool buckets altitude into broad orbit classes, Low Earth Orbit, Medium Earth Orbit, a geosynchronous belt band, and High Earth Orbit. These labels are based on fixed altitude cutoffs, so values close to a boundary can flip classes after rounding.
Freshness is derived from the TLE epoch compared with the current clock, then expressed as minutes, hours, days, or future time when the epoch is ahead of now. Optional status metadata can be overlaid from Satellite Networked Open Ground Station (SatNOGS) records, which may be missing for some spacecraft.
| Symbol | Meaning | Unit/Datatype | Source |
|---|---|---|---|
n |
Mean motion | rev/day | Input (TLE line 2) |
ω |
Angular rate derived from mean motion | rad/s | Derived |
μ |
Earth standard gravitational parameter | km3/s2 | Constant |
R |
Earth mean radius used by the tool | km | Constant |
a |
Approximate semi major axis | km | Derived |
h |
Approximate altitude above Earth radius | km | Derived |
P |
Orbital period | min | Derived |
i |
Inclination | deg | Input (TLE line 2) |
e |
Eccentricity parsed from TLE | unitless | Input (TLE line 2) |
tepoch |
TLE epoch timestamp | ISO 8601 | Input (TLE record) |
Worked example (altitude from mean motion)
Assume a TLE reports mean motion n of 15.5 rev/day. The tool constants are μ = 398600.4418 km3/s2 and R = 6371 km.
With h = 423.86 km, the orbit class is LEO because the altitude is below 2000 km.
| Orbit class | Lower bound (km) | Upper bound (km) | Interpretation | Action cue |
|---|---|---|---|---|
| LEO | 0 | 2000 | Low Earth Orbit, typically fast moving relative to ground observers. | Expect short passes and frequent geometry changes. |
| MEO | 2000 | 34986 | Medium Earth Orbit, longer periods and broader footprints. | Use for broad coverage comparisons and constellation grouping. |
| GEO belt | 34986 | 36586 | Near geosynchronous altitude within a fixed belt width. | Sanity check for stationary coverage expectations. |
| HEO | 36586 | ∞ | High Earth Orbit outside the geosynchronous band. | Verify the mission type and look for highly elliptical signatures. |
| Unknown | — | — | Missing or invalid mean motion prevented an altitude estimate. | Inspect the raw TLE text for completeness. |
Note that the GEO band is defined as 35786 km plus or minus 800 km. Boundary flips can happen when values are rounded for display.
| Label shown | SatNOGS value | Meaning | Practical read |
|---|---|---|---|
| Active | alive |
Listed as operational in the SatNOGS database. | Good candidate for service checks and monitoring. |
| Planned | future |
Announced or expected spacecraft entry. | Expect incomplete orbit history and changing records. |
| Non-operational | dead |
Listed as no longer operational. | Do not assume live service even if an orbit record exists. |
| Re-entered | re-entered or decayed |
Reported reentry or decay flag is present. | Useful for historical checks, usually not an active target. |
| TLE only | overlay disabled | Only TLE derived metrics are shown. | Use orbit values, not health status, for triage. |
| Unknown | unknown or missing |
Status is unavailable or unrecognized. | Rely on orbit freshness and cross check other sources. |
| Parameter | Meaning | Unit/Datatype | Typical range | Sensitivity | Notes |
|---|---|---|---|---|---|
query |
Search text for name, keyword, or NORAD ID | string | 1+ chars | High | Trimmed; a 3 to 6 digit value triggers an ID lookup. |
preset |
Preset that fills common constellation searches | enum | custom, starlink, oneweb, iridium, … | Medium | On load, the preset can populate the query unless a query parameter was supplied. |
max_results |
Maximum satellites kept after sorting | integer | 1 to 40 | Medium | Rounded and clamped to a safe cap. |
page |
Search page offset for the TLE search endpoint | integer | 1 to 200 | Medium | Useful when exploring beyond the newest matches. |
max_age_days |
Discard entries older than this epoch age | integer | 0 to 3650 | High | Set 0 to keep everything regardless of age. |
sort_by |
Result ordering applied before the cap | enum | epoch, altitude, inclination, period | Medium | Epoch sorting uses newest first. |
include_satnogs |
Enable SatNOGS overlay metadata | 0 or 1 | 0 to 1 | Medium | Enabling triggers one metadata request per result. |
only_active |
Filter out entries marked dead or reentered | 0 or 1 | 0 to 1 | High | Requires the SatNOGS overlay. |
allow_decayed |
Allow decayed or future entries to remain | 0 or 1 | 0 to 1 | High | Requires the SatNOGS overlay. |
| Constant | Value | Unit | Source | Notes |
|---|---|---|---|---|
EARTH_MU |
398600.4418 | km3/s2 | Constant | Used in the Keplerian altitude approximation. |
EARTH_RADIUS_KM |
6371 | km | Constant | Subtracted from semi major axis to estimate altitude. |
GEO_ALTITUDE |
35786 | km | Threshold | Center of the geosynchronous belt band. |
GEO_BELT_HALF_WIDTH |
800 | km | Threshold | Defines the belt as 35786 km plus or minus 800 km. |
FETCH_TIMEOUT |
12000 | ms | Constant | Abort window applied to each fetch request. |
AUTO_TRACK_DELAY |
250 | ms | Constant | Auto starts a query shortly after load when a query exists. |
| Field | Type | Min | Max | Step/Pattern | Error text |
|---|---|---|---|---|---|
| Search query | text | — | — | ^\d{3,6}$ treated as NORAD ID |
Enter a satellite name or NORAD ID to search. |
| Result cap | number | 1 | 40 | step 1 | — |
| TLE freshness | number | 0 | 3650 | step 1 | — |
| TLE page offset | number | 1 | 200 | step 1 | — |
| No matches | state | — | — | empty results set | No satellites found for that query. |
| Filtered out | state | — | — | filters remove all rows | No entries matched after applying the filters. |
| Fetch failure | state | — | — | network or timeout | Unable to fetch satellite data right now. |
| Input | Accepted families | Output | Encoding/Precision | Rounding |
|---|---|---|---|---|
| Search text | Name fragments, constellation keywords, NORAD ID | Ranked matches list and a selected summary | Unicode text, trimmed | — |
| TLE record | JSON from the TLE API | Derived metrics and a 3 line TLE text block | Line 2 token parse | Fixed decimals per metric |
| SatNOGS metadata | Optional JSON overlay | Status label, operator, countries, flags | Mapped categorical values | — |
| Export payload | In memory results set | Formatted JSON with ISO timestamps | Pretty printed JSON | Values as stored |
tle.ivanstanojevic.me using JSON responses and cache: no-store./api/satnogs/satellites/{norad}.localStorage or sessionStorage are present in this package.query URL parameter is recognized to prevent presets from overwriting the initial search.dead and re-entered and any decayed flags.TLE only and should not be read as health.NaN and lead to Unknown orbit class.no-store, but intermediate proxies can still serve older responses.The altitude approximation follows Kepler's third law using a fixed Earth gravitational parameter and radius. TLE sets are commonly intended for use with the SGP4 orbit model, even though this tool only extracts and transforms a subset of fields. Time exports use ISO 8601 timestamps, and numeric behavior follows IEEE 754 as implemented by the JavaScript runtime.
Search terms are sent to the data sources to fetch orbit records and optional metadata, and results are kept in memory for the current session, so avoid entering personal or confidential identifiers.
Satellite orbit snapshots can tell you whether you have the right spacecraft and whether its published orbit looks current enough for a quick planning decision.
Example workflow
Search for a constellation keyword, keep 10 results, and set freshness to 30 days. If the selected entry shows a low altitude, a plausible inclination, and a small epoch age, it is likely the right cohort for deeper pass planning.
Pro tip: When several entries share a similar name, sort by newest epoch first, then confirm the orbit class before trusting the label.
Once the snapshot looks coherent, you can move on to propagation tools for timing and visibility without guessing which spacecraft you started with.
The package does not write to local or session storage. Your search text is sent to fetch orbit records and optional metadata, and the results remain in memory until you refresh or navigate away.
If your environment logs network traffic, queries may be visible there.Altitude is derived from mean motion using a circular orbit approximation with fixed Earth constants. It is useful for sorting and broad orbit classing, but it is not a precision propagation output and can differ from sources that model perturbations.
Treat values near class boundaries with extra care.Altitude is in kilometers, inclination is in degrees, period is in minutes, and mean motion is in revolutions per day. Epoch timestamps are ISO 8601 in exports and localized for the status table.
You need network access to fetch orbit records and optional overlay metadata. After results load, you can still review, copy, and export what is already on screen without making another request.
It means the tool is showing only metrics derived from the TLE record. Health, operator, and country fields are omitted because the overlay is disabled or unavailable for that spacecraft.
Enter the NORAD catalog ID as digits. If it is 3 to 6 digits long, the tool first attempts a direct ID lookup, then falls back to keyword search if needed.
This package does not present licensing or pricing terms in its metadata. Treat it as a utility and follow your organization’s policy for distributing or embedding tools.
Blocking issue: requests time out
If every query fails after about 12 seconds, your network may be blocking the data sources or rewriting responses. Try a different network path or allow the required API hosts.