Orbital Period & Gravity Field Calculator: Kepler's Third Law, g(r), Circular Speed
Calculate orbital periods using Kepler's third law and evaluate gravity field quantities. Compare satellites around Earth, Moon, Mars, Jupiter, Sun, or custom celestial bodies.
A satellite at the ISS altitude (about 400 km) experiences roughly 89% of Earth's surface gravity. It's not in "zero gravity." It's in continuous free fall around the planet, falling at the same rate the planet curves away beneath it. The astronauts inside aren't weightless because gravity has vanished, they're weightless because they're falling alongside the spacecraft. That distinction is what Kepler's third law captures. T² ∝ a³, with the proportionality constant set by the central body's mass through μ = GM. Plug in altitude instead of semi-major axis (a common mistake), and your period is off by 50% or more, because a is measured from the planet's center, not its surface.
Linear vs. Angular Quantities: The Conversion Layer
For a circular orbit, the satellite's linear (tangential) speed v and its angular speed n (the "mean motion") connect through the orbit radius. v = nr. The linear quantity is what you'd clock with a chase plane in the orbital plane. The angular quantity is what a tracker on the ground sees as the satellite sweeps across the sky. Both describe the same motion, but most orbital mechanics formulas are cleaner in angular form.
Centripetal acceleration equals gravitational acceleration:
v²/r = GM/r² → v = √(μ/r)
Period T = 2πr/v = 2πr/√(μ/r) = 2π√(r³/μ)
For ellipses, replace r with semi-major axis a:
T = 2π√(a³/μ)
This holds for any bound orbit, circular or elliptical. The remarkable fact: period depends only on the semi-major axis a and the gravitational parameter μ = GM. Eccentricity doesn't appear at all.
| Variable | Symbol | Units | Example (Earth) |
|---|---|---|---|
| Orbital period | T | seconds | 5,550 s (LEO) |
| Semi-major axis | a | meters or km | 6,771 km (LEO) |
| Linear orbital speed | v | km/s | 7.66 km/s (LEO) |
| Mean motion | n | rad/s or rev/day | 15.5 rev/day (LEO) |
| Gravitational parameter | μ | km³/s² | 398,600 km³/s² |
Units warning: μ is often given in km³/s² while altitudes are in km. Make sure everything is consistent (either all km or all m). Mixing them gives wrong answers by factors of 10⁹.
Period, Frequency, and Angular Frequency: Three Names for Related Things
In orbital mechanics, "frequency" is rarely written in hertz. The convention is mean motion n in radians per second, or revolutions per day. Period T is the time for one orbit, often quoted in minutes (LEO) or hours (GEO) or days (the Moon). The relationships are the standard ones. T = 2π/n, n = 2π/T, and revs/day = 86400/T(s).
| Orbit | Period | Mean motion (rad/s) | Revs/day |
|---|---|---|---|
| LEO (400 km) | 92.7 min | 1.13×10⁻³ | 15.5 |
| GPS | 12 hr | 1.45×10⁻⁴ | 2.0 |
| GEO | 23.93 hr | 7.29×10⁻⁵ | 1.0 |
| Moon | 27.3 days | 2.66×10⁻⁶ | 0.037 |
Two-Line Elements (TLEs) used to track satellites list mean motion in revolutions per day, not period in hours. ISS has n ≈ 15.5 rev/day. GPS satellites are designed for n = 2.0 rev/day exactly, so two orbits per sidereal day means the ground track repeats. Converting to SI rad/s: n (rad/s) = 2π × revs_per_day / 86400.
Elliptical orbits: In a Molniya orbit (e ≈ 0.74), the satellite crawls at 0.1 km/s near apoapsis but races at 10 km/s through periapsis. Mean motion averages this. n = 2π/(12 hours) regardless of how the velocity varies along the orbit.
Restoring Force vs. Centripetal Force: Different Mechanisms, Similar Math
A restoring force pulls a system toward equilibrium and produces oscillation (springs, pendulums). A centripetal force pulls a moving body toward an orbital axis and produces curving motion (planets, satellites). For an orbit, gravity is the centripetal mechanism. F_g = GMm/r², always aimed at the central body. The centripetal acceleration required to hold a circular path at radius r is v²/r. Setting them equal gives v = √(GM/r), the vis-viva expression for circular orbits.
The math overlaps with SHM in one specific way. An elliptical orbit, projected onto either axis of its plane, doesn't trace a sine wave (the speed varies because of the second Kepler law), but the radial coordinate of an eccentric orbit obeys an oscillation around the mean radius. Energy conservation looks identical to the spring case. E = −GMm/(2a) for a bound orbit, just as E = ½kA² for a spring. Both are negative-energy bound systems, parameterized by a single "size" variable (a for the orbit, A for the spring) and a strength variable (μ vs. k).
One more parallel. For a slightly eccentric orbit (e small), the radial motion is approximately SHM at the mean motion n. The radial deviation r − a oscillates at frequency n with amplitude ae. Highly eccentric orbits break this approximation, but it's why low-eccentricity orbital perturbations are often analyzed with linearized SHM-style tools.
Practical example: Molniya orbits (used for Russian communications) are highly elliptical (e ≈ 0.74) with 12-hour periods, the same period as GPS circular orbits. Both have a ≈ 26,560 km. The shape differs, the size doesn't, so the period matches.
Small-Angle and Other Approximations: Where They Break
The two-body Kepler formula T = 2π√(a³/μ) is exact only when the central body is a point mass and the orbiting object is a point mass too. Real orbits sit on top of three approximations that each break in their own way.
Two-body assumption. The formula treats the central body as the only gravity source. For Earth orbits inside the Moon's sphere of influence (under ~66,000 km altitude), this works to about 0.01%. Past that, lunar tides on the orbit start mattering. For a high-altitude satellite, the n-body equations of motion are integrated numerically.
Point-mass assumption. Earth isn't a sphere. It bulges at the equator (J2 oblateness, about 0.1% of GM). This causes orbits to precess. The orbital plane rotates around Earth's axis (nodal regression), and the orbit ellipse rotates within its plane (apsidal precession). For LEO, J2 shifts the period by about 1 to 2 seconds out of 5,550, around 0.03%. Significant for navigation, harmless for a back-of-envelope estimate.
Eccentricity in the period formula. One thing T = 2π√(a³/μ) gets right exactly: eccentricity does not appear. Two orbits with the same a and the same μ have the same T regardless of shape. Where eccentricity does break things is anywhere you assume v is constant. v varies from v_periapsis = √(μ(1+e)/(a(1−e))) to v_apoapsis = √(μ(1−e)/(a(1+e))). For a circular orbit (e = 0) those collapse to v = √(μ/a).
| Orbit Type | Eccentricity | a (km) | Periapsis | Apoapsis | Period |
|---|---|---|---|---|---|
| Circular | 0.00 | 10,000 | 10,000 km | 10,000 km | 2.97 hr |
| Slightly elliptical | 0.20 | 10,000 | 8,000 km | 12,000 km | 2.97 hr |
| Highly elliptical | 0.60 | 10,000 | 4,000 km | 16,000 km | 2.97 hr |
| Very eccentric | 0.90 | 10,000 | 1,000 km | 19,000 km | 2.97 hr |
All four orbits in the table have identical period because semi-major axis is identical. Eccentricity rearranges where the satellite spends its time (mostly near apoapsis on a high-e orbit), but doesn't change the total time per loop.
Real-World Tolerances (Orbits Aren't Circles, Pendulums Aren't Frictionless)
Real orbits drift. Atmospheric drag pulls down LEO satellites at altitudes below ~600 km, costing the ISS about 2 km of altitude per month if uncorrected. J2 oblateness rotates the orbital plane and the apsis. Solar radiation pressure pushes light objects measurably (a 1 m² sail at 1 AU gets ~9 μN of force from sunlight). For high-precision applications like GPS, all these effects are modeled and predicted to centimeter accuracy.
| Effect | Cause | LEO Impact | GEO Impact |
|---|---|---|---|
| Nodal regression | J2 oblateness | ~5 to 7°/day | ~0.01°/day |
| Apsidal precession | J2 oblateness | ~3 to 4°/day | ~0.005°/day |
| Period deviation | J2 oblateness | ~1 to 2 s | ~0.01 s |
| Orbital decay | Atmospheric drag | Significant (<600 km) | Negligible |
Clever mission designers exploit these "errors." A sun-synchronous orbit picks an inclination and altitude such that the J2 nodal regression rate exactly matches Earth's motion around the Sun (~1°/day), so the satellite crosses the equator at the same local time each pass. Earth-observation missions (Landsat, Sentinel) use this to get consistent lighting on every image.
The altitude-period sensitivity is highly nonlinear. A 200 km error at LEO shifts T by ~3 minutes, while the same 200 km error at GEO shifts T by only seconds. But in absolute terms a GEO satellite needs sub-second period accuracy to stay over its target longitude, so the tolerance there is tighter than at LEO.
Educational note: This calculator ignores J2, drag, and third-body effects. The Kepler period is typically accurate to ~0.1% for first-order estimates. For mission planning, professional software (STK, GMAT) includes full perturbation models.
Worked Example: ISS-Altitude Orbit (400 km up, ~7.66 km/s, T ~92.7 min)
Calculate the orbital period, linear speed, and mean motion for a circular orbit at 400 km altitude above Earth, using G = 6.674×10⁻¹¹ N·m²/kg², M_Earth = 5.972×10²⁴ kg, and R_Earth = 6.371×10⁶ m.
Step 1: Compute μ from G and M.
μ = GM = (6.674×10⁻¹¹)(5.972×10²⁴) = 3.986×10¹⁴ m³/s²
Or in km units: μ = 398,600 km³/s²
Step 2: Find the orbital radius.
r = R_Earth + h = 6.371×10⁶ + 4.00×10⁵ = 6.771×10⁶ m
(or 6,771 km. Don't use h alone, that's a 50% error.)
Step 3: Compute orbital speed.
v = √(μ/r) = √(3.986×10¹⁴ / 6.771×10⁶)
v = √(5.887×10⁷) = 7,673 m/s = 7.67 km/s
Step 4: Compute the orbital period.
T = 2π√(r³/μ) = 2π√((6.771×10⁶)³ / 3.986×10¹⁴)
T = 2π√(7.785×10⁵) = 2π × 882.3 = 5,544 s
Convert to minutes: T = 92.4 min
Step 5: Mean motion check.
n = 2π/T = 2π/5544 = 1.133×10⁻³ rad/s
Or revs/day: n = 86400/5544 = 15.59 rev/day ✓
| Metric | ISS (LEO) | GPS | GEO | Moon |
|---|---|---|---|---|
| Semi-major axis | 6,771 km | 26,571 km | 42,164 km | 384,400 km |
| Orbital speed | 7.67 km/s | 3.87 km/s | 3.07 km/s | 1.02 km/s |
| Period | 92.4 min | 12.0 hr | 23.93 hr | 27.3 days |
| a ratio vs ISS | 1.0× | 3.9× | 6.2× | 56.8× |
| T ratio vs ISS | 1.0× | 7.8× | 15.5× | 425× |
Cross-check using Kepler's a^(3/2) scaling. GPS has 3.9× the LEO axis, so T should be 3.9^1.5 ≈ 7.7×. GEO has 6.2× the axis, so T should be 6.2^1.5 ≈ 15.4×. Moon has 56.8×, so T should be 56.8^1.5 ≈ 428×. All three match the table within rounding. The cube-root relation between a and T is the bedrock of every orbital prediction we make.
References
- Bate, Mueller & White (2020). Fundamentals of Astrodynamics (2nd ed.). Dover Publications. The classic textbook for orbital mechanics, Kepler's laws, and perturbation theory.
- Curtis, H. D. (2019). Orbital Mechanics for Engineering Students (4th ed.). Butterworth-Heinemann. Detailed coverage of orbital period calculations with J2 perturbation analysis.
- Vallado, D. A. (2013). Fundamentals of Astrodynamics and Applications (4th ed.). Microcosm Press. Industry reference for satellite orbital mechanics including perturbations.
- Murray & Dermott (1999). Solar System Dynamics. Cambridge University Press. Treatment of n-body perturbations and the dynamics of resonances and rings.
- Goldstein, Poole & Safko (2002). Classical Mechanics (3rd ed.). Addison-Wesley. Chapter 3, two-body central-force motion derived from a Lagrangian.
- IAU Resolution B3 (2015). iau.org. Standard values for gravitational parameters of major solar system bodies.
- NASA JPL Horizons & DE440. ssd.jpl.nasa.gov. High-precision ephemeris data for solar system objects.
Formulas implemented using IAU 2015 standard values. For real mission planning requiring J2, drag, and multi-body effects, use professional software like STK or GMAT.
Fixing Kepler III and Orbital Period Mistakes
Real questions from students confused about altitude vs radius, circular vs elliptical periods, and real-world perturbations.
What is Kepler's third law?
Kepler's third law states that the square of an orbital period is proportional to the cube of the orbit's semi-major axis. In modern form: T² = (4π²/GM) · a³, where T is the period, a is the semi-major axis, G is the gravitational constant (6.674 × 10⁻¹¹ N·m²/kg²), and M is the mass of the central body. For circular orbits, a equals the orbital radius. The ISS orbits at about 6,778 km from Earth's center (400 km altitude + Earth's 6,378 km radius), giving T = 2π√(a³/GM) ≈ 5,547 s, or about 92 minutes per orbit. Geostationary satellites at 42,164 km orbit once per sidereal day (86,164 s), parking them above a fixed longitude. The same law works for any two bodies in mutual gravitational orbit. Earth orbits the Sun at a = 1 AU and T = 1 year. Jupiter orbits at 5.2 AU and T = 11.86 years. Plug in: 11.86² = 140.7, and 5.2³ = 140.6. The small mismatch is rounding. Kepler discovered the relation empirically from Tycho Brahe's planetary data in 1619, decades before Newton derived it from F = GMm/r². It still works for binary stars and exoplanets, given that one body's mass dominates.
My Hohmann transfer calculation gives the same period for a circular and elliptical orbit—that can't be right, can it?
It is right! Kepler's third law depends only on semi-major axis, not eccentricity. A circular orbit at a = 10,000 km and an ellipse with periapsis 7000 km, apoapsis 13,000 km both have a = 10,000 km and identical periods. The ellipse moves faster near periapsis and slower near apoapsis, but these effects cancel exactly. This is why transfer orbits work: the ellipse connecting LEO to GEO has a semi-major axis of (6671 + 42164)/2 ≈ 24,418 km, and that alone determines its half-period of ~5.3 hours.
I plugged in 400 km altitude for ISS but got a period of 0.5 minutes instead of 92 minutes—what did I do wrong?
You used altitude instead of semi-major axis. The formula T = 2π√(a³/μ) requires the distance from Earth's center, not from the surface. For ISS at 400 km altitude, add Earth's radius: a = 6371 + 400 = 6771 km = 6.771×10⁶ m. With μ = 3.986×10¹⁴ m³/s², you get T = 5553 s ≈ 92.6 minutes. Using 400 km directly gives T = 2π√((4×10⁵)³/(3.986×10¹⁴)) ≈ 31.7 s—off by a factor of 175. Always convert altitude to orbital radius first.
I calculated GEO altitude as 35,786 km but my professor marked me wrong for using 42,164 km—which is correct?
Both are correct for different quantities. The semi-major axis is a = 42,164 km (from Earth's center). The altitude is h = a − R_Earth = 42,164 − 6,378 = 35,786 km (above the equator). The formula T = 2π√(a³/μ) needs 42,164 km. If your professor asked for altitude and you wrote 42,164 km, that's the error. Always label your answer clearly: 'altitude h = 35,786 km' or 'orbital radius a = 42,164 km.' The distinction matters for mission planning—launch guidance needs altitude, orbit mechanics need radius.
I'm using G = 6.674×10⁻¹¹ and M_Earth = 5.972×10²⁴ but my period is off by 0.1%—is my mass value wrong?
Your method is wrong, not your values. G is only known to ~5 significant figures, and M_Earth has similar uncertainty. Multiplying them compounds errors. Use μ = GM directly: Earth's μ = 3.986004418×10¹⁴ m³/s² is known to 10 significant figures from satellite tracking. JPL publishes these values for mission-critical calculations. For homework, μ ≈ 3.986×10¹⁴ m³/s² is fine. For precision work, never compute G×M separately—always look up μ from authoritative sources like IAU or JPL HORIZONS.
The ISS orbit is listed as 51.6° inclination—why doesn't that affect the period calculation?
Inclination affects where the orbit goes (ground track), not how long it takes. The period T = 2π√(a³/μ) is identical for equatorial (0°), polar (90°), and any inclined orbit with the same semi-major axis. However, inclination does matter for real ISS tracking because Earth's equatorial bulge (J2 effect) causes the orbit to precess differently at different inclinations. A 51.6° orbit precesses westward at about 5°/day, which slightly affects the apparent period relative to ground stations—but the inertial period remains ~92.6 minutes.
I need to find when a satellite passes overhead, but the period formula just gives me one number—how do I get a schedule?
The period tells you how often, not when. For overhead passes, you need the full orbital elements (epoch, semi-major axis, eccentricity, inclination, RAAN, argument of periapsis, true anomaly) plus your ground station coordinates. From there, propagate the orbit forward in time and check when the satellite's ground track comes within your visibility cone. Software like GMAT, STK, or even N2YO.com does this automatically. The period is just one input—you also need the initial position (epoch) and orientation (the other five elements).
My textbook says GPS satellites orbit twice per day, but 12-hour period gives me ~20,200 km altitude—Google says 20,180 km. Why the 20 km discrepancy?
GPS actually uses a half-sidereal-day period (~11 hours 58 minutes), not exactly 12 hours. A sidereal day is 23h 56m 4s, so half is 43,082 seconds. This gives a = (μT²/(4π²))^(1/3) = 26,560 km from Earth's center, or altitude = 26,560 − 6,378 = 20,182 km. The ~20 km variations between sources come from using different Earth radius values (equatorial vs mean) and whether they account for J2 secular effects. For homework, 20,200 km is acceptable; for navigation, millimeter-level ephemerides matter.
I derived v = √(μ/a) for circular orbit velocity but my friend got v = 2πa/T—are these different formulas?
They're identical! Substitute T = 2π√(a³/μ) into v = 2πa/T: v = 2πa/(2π√(a³/μ)) = a/√(a³/μ) = √(μa/a³) = √(μ/a). Both give the same velocity. The vis-viva equation generalizes this to elliptical orbits: v = √(μ(2/r − 1/a)), which reduces to √(μ/a) when r = a (circular orbit). Use whichever form has the variables you know—if you have period, use 2πa/T; if you have μ and radius, use √(μ/r).
My simulation shows the Moon's period as 27.3 days but my formula gives 27.5 days—what accounts for the 0.2-day error?
Several factors: (1) The Moon's orbit is elliptical (e ≈ 0.055), so the semi-major axis you used might be the current distance, not the mean. Use a = 384,400 km for the semi-major axis. (2) Earth-Moon μ should be the sum: μ_system = μ_Earth + μ_Moon ≈ 4.035×10¹⁴ m³/s², not just Earth's μ—though this correction is only ~1.2%. (3) The 27.3-day 'sidereal month' is measured relative to stars; if your simulation uses synodic months (~29.5 days), that's a different quantity. With a = 384,400 km and μ = 4.035×10¹⁴ m³/s², you get T ≈ 27.28 days.
Why do low Earth orbit satellites need reboosting every few months if orbital mechanics is supposed to be predictable?
Atmospheric drag. Even at 400 km, there's enough residual atmosphere (~10⁻¹² kg/m³) to slow satellites by meters per second over weeks. This lowers the orbit, which increases drag further (exponential decay). ISS loses about 2 km/month in altitude and needs periodic reboosts. The Kepler/two-body formula T = 2π√(a³/μ) assumes vacuum—it's exact for the Moon but an approximation for LEO. Below ~300 km, decay is rapid (days to weeks); above ~1000 km, orbits last centuries. Drag depends on solar activity, which heats and expands the atmosphere unpredictably.