Keystone Space

From a mission idea to what’s next.

Open-source mission design, built with the community. Practical utilities for the calculations along the way.

Our flagship / Mission design

EMTG Community Edition

A remarkable foundation. A wider community. We’re carrying NASA’s trajectory design software forward with open-source solver access, simpler builds, and new ways to connect it to your work.

Explore Community Edition ↗Open source · Built with the community
DEPARTUREENCOUNTERARRIVAL
EMTG / TRAJECTORY DESIGNCONCEPTUAL ILLUSTRATION

The everyday toolkit

Time, state & orbit tools

Focused utilities, ready in your browser. Convert time scales, transform satellite states, or generate an ephemeris from orbital elements.

Time conversionUTC, Unix, GPS, J2000 TT, Julian Date, and Modified Julian Date.

Use UTC with a trailing Z. J2000 counts seconds from noon on January 1, 2000 TT. Supported epochs begin January 1, 1972.

Satellite state conversionConvert Cartesian position and velocity between GCRF, EME2000, ITRF, and TEME.

CSV order: time,x,y,z,vx,vy,vz. Enter UTC with a trailing Z. Units apply to input and output; changing units reinterprets the entered numbers. Leap-second labels are not supported by this state tool.

TLE / OMM to OEMTurn orbital mean elements into a sampled ephemeris with SGP4.

Paste or upload one TLE (two or three lines), OMM JSON record, or OMM KVN message. Processing stays in your browser. XML, CSV catalogs, and SGP4-XP are not supported.

UTC format: 2026-01-01T00:00:00Z. Defaults: source epoch → +24 hours, every 60 seconds (1,441 states). The exact stop is always included; the last step may be shorter. Limit: 100,000 states, 31 days per interval, within 30 days of the source epoch.

TEME needs no Earth-orientation data. Confirm your receiving software supports TEME. Smaller timesteps add samples; they do not improve orbit accuracy.

About these converters Methods, data & limitations

Time, state & orbit tools

Know what goes
into the answer.

Conversions run in your browser. The state tool fetches packaged Earth-orientation data when needed; entered states are not submitted to a conversion server.

From mean elements to ephemeris

The orbit tool uses satkit’s SGP4 with WGS-72 gravity, then samples the trajectory in your chosen frame. Default settings are TEME, 60 seconds, and 24 hours from the source epoch. Numerical tests cover near-Earth, deep-space, and resonant orbits. Sampling does not improve the source orbit’s accuracy.

Read formats, references & limitations ↗

A shared implementation

Rust cores power the browser’s WebAssembly modules and the command-line tools. Time conversion uses hifitime with explicit leap-second handling; state conversion uses satkit with IERS 2010 coefficient tables.

Read CLI documentation ↗

Earth-orientation coverage

Packaged data spans 1962-01-01 to 2027-04-24. Coverage at the final date ends at its midnight sample. Quality varies by epoch: final, rapid, or predicted. The result reports the data used; predictions are not final measurements.

Conventions matter

J2000 in the state tool means EME2000. In the time tool it means seconds from the J2000 TT epoch. Julian Date and Modified Julian Date use a UTC-based, 86,400-second-day convention; leap seconds cannot be uniquely represented in Unix, JD, or MJD. The state tool rejects leap-second labels and interpolation across a leap-second discontinuity in Earth-orientation data.

Reference checks, with boundaries

Reference tests compare selected cases with Astropy, Skyfield, and ERFA-derived results. These tests establish specific tolerances, not a universal accuracy guarantee. Verify conventions and data suitability for your own application.

Read the engineering notes ↗
Explore related research ↗Discuss a space workflow ↗