Hohmann Transfer Orbit Calculator

JJ Ben-Joseph headshot JJ Ben-Joseph

Introduction to the minimum-energy two-impulse transfer

Every kilogram of propellant a spacecraft carries is a kilogram of payload it does not carry, so mission designers care intensely about the velocity change — the delta-v — that a manoeuvre demands. The Hohmann transfer, published by Walter Hohmann in 1925, is the answer to the simplest useful version of that question: given two coplanar circular orbits about the same central body, what is the cheapest way to move between them using exactly two instantaneous burns? The answer is an ellipse tangent to both circles. One burn at the departure point raises the far side of the orbit until it grazes the destination circle; the spacecraft then coasts, unpowered, for half a revolution; a second burn at arrival lifts the low speed of the ellipse's apoapsis up to the circular speed of the destination.

That geometry underpins an enormous amount of real spaceflight. Communications satellites reach geostationary orbit from a geostationary transfer orbit that is, in essence, a Hohmann ellipse. NASA's interplanetary cruises to Mars are close cousins of the Hohmann transfer, which is why the agency describes the Mars launch opportunity as recurring "about every 25 months" — that spacing is set by the same orbital mechanics this page implements. This calculator returns the two burn magnitudes, the total budget, the full geometry of the transfer ellipse, the coast time, and the launch-window quantities that decide when you can actually depart: the synodic period between the two orbits and the phase angle the target must have at the moment of the first burn.

Two design decisions distinguish this page from a bare formula box. First, it insists on being unambiguous about the single most common mistake in transfer arithmetic — the difference between an orbit radius, measured from the centre of the central body, and an orbit altitude, measured from its surface. You choose the convention explicitly, and the page converts. Second, every gravitational parameter and body radius it ships is taken from a NASA/JPL Solar System Dynamics table rather than from rounded textbook memory, and the values are shown to you so you can check them.

How to use the transfer planner: bodies, radii, altitudes and mu

Start with the central body. The dropdown loads the gravitational parameter μ and, where one is available, the body's mean radius. Selecting a body overwrites the mu field; typing your own value switches the body to "Custom" so nothing is silently overwritten afterwards. Mu must be given in km3/s2, which is the unit the JPL tables use; if you have a value in m3/s2 divide it by 109. Earth's parameter is 398600.435507 km3/s2, or equivalently 3.98600435507 × 1014 m3/s2.

Next choose the input convention. In radius mode the two numbers you type are distances from the centre of the central body. In altitude mode they are heights above the mean surface, and the planner adds the body's mean radius before doing anything else. The labels on the two orbit fields change to match, and the results panel always restates the radii it actually used so there is no ambiguity. If an altitude is negative, or a radius is smaller than the body, the page flags it: those cases are geometrically legal for the equations but physically meaningless, and you should know that the tool noticed.

The quick scenarios menu fills every field for six representative transfers, including a 400 km low Earth orbit to geostationary hop, a low Mars orbit to areostationary transfer, and three heliocentric cruises. The geostationary and areostationary radii are not hard-coded folklore: they are derived from each planet's sidereal rotation period and gravitational parameter, and the derivation is spelled out in the worked example below. The time step field affects only the animation; it never touches the analytic results.

Press Calculate, or simply edit any field, and the results panel updates. Play starts the two-body animation, Pause freezes it, and Reset returns the spacecraft to the departure point. Download CSV exports the analytic transfer trajectory — 181 samples in true anomaly with radius, speed, flight-path angle and elapsed time — so you can plot it elsewhere. Copy link puts a permalink to the current inputs on your clipboard.

The Hohmann formula set derived from vis-viva

Everything on this page follows from one relation, the vis-viva equation, which is simply conservation of specific orbital energy rewritten for a two-body Keplerian orbit of semi-major axis a:

Formula: v = sqrt(μ ⁡(2 / r − 1 / a))

v=μ(2r1a)

For a circular orbit r=a, so the bracket collapses to 1/r and the circular speed is

Formula: v_circ = sqrt(μ / r)

vcirc=μr

The transfer ellipse must touch the inner circle at one apse and the outer circle at the opposite apse, so its major axis is the sum of the two radii and its semi-major axis is their mean:

Formula: a_t = (r_1 + r_2) / 2

at=r1+r22

Its eccentricity follows from the same two apse distances:

Formula: e_t = (| r_2 − r_1 |) / (r_1 + r_2)

et=|r2r1|r1+r2

Evaluating vis-viva on the transfer ellipse at r=r1 gives the speed the spacecraft needs immediately after the first burn, and subtracting the circular speed it already had gives the burn itself. Doing the algebra once produces the compact closed form

Formula: Δv_1 = sqrt(μ / r_1) ⁡ (sqrt((2 r_2) / (r_1 + r_2)) − 1)

Δv1=μr1(2r2r1+r21)

The same evaluation at r=r2, subtracted from the destination circular speed, gives the circularisation burn

Formula: Δv_2 = sqrt(μ / r_2) ⁡ (1 − sqrt((2 r_1) / (r_1 + r_2)))

Δv2=μr2(12r1r1+r2)

Note the sign convention. When r2>r1 both expressions are positive and both burns are prograde. When you transfer inward — Earth to Venus, or a deorbit to a lower circular orbit — both come out negative, meaning both burns are retrograde. The propellant cost depends on the magnitudes, so the total budget is

Formula: Δv_total = | Δv_1 | + | Δv_2 |

Δvtotal=|Δv1|+|Δv2|

The coast lasts exactly half the period of the transfer ellipse. Kepler's third law gives that period, so

Formula: t_transfer = π sqrt(a_t^3 / μ)

ttransfer=πat3μ

which is identical to the equivalent form π8(r1+r2)3μ because at3=(r1+r2)3/8. Both are implemented and agree to machine precision.

The animation does not use any of the above. It integrates the inverse-square acceleration

Formula: (d v →) / (d t) = − (μ r →) / r^3

dvdt=μrr3

together with drdt=v using a fourth-order Runge-Kutta scheme, evaluating the acceleration at the start (k1), twice at the midpoint (k2, k3) and once at the end (k4) of each step. The integrator takes a shortened final step so that the second burn lands exactly on the analytic transfer time rather than up to one time step late.

Launch windows: synodic period and the departure phase angle

Reaching the destination orbit is not the same as reaching the destination body. The spacecraft arrives 180 degrees around from where it departed, after a fixed coast time, so the target must be exactly at that arrival point when the spacecraft gets there. Working backwards, the angle by which the target must lead the spacecraft at the instant of the first burn is

Formula: φ = π − ω_2 t_transfer, ω_2 = sqrt(μ / r_2^3)

φ=πω2ttransfer,ω2=μr23

A positive φ means the target must be ahead of you; a negative value, which is what an inward transfer produces, means it must be trailing. Because the two bodies move at different rates, the correct alignment repeats at the synodic period

Formula: S = |1/T_1−1/T_2|^−1, T_i = 2 π sqrt(r_i^3 / μ)

S=|1T11T2|1,Ti=2πri3μ

Applying this to the Earth-to-Mars case with JPL's fitted semi-major axes gives a 258.9 day coast, a required Mars lead angle of 44.3 degrees, and a synodic period of 779.9 days. The NASA/JPL classroom activity Let's Go to Mars! Calculating Launch Windows works the same problem with rounded inputs and obtains 259 days and 44 degrees, and 779.9 days is 25.6 months, consistent with NASA's "about every 25 months" statement in Basics of Space Flight. Reproducing an independent NASA result to three significant figures is the strongest evidence available that the implementation is right.

Worked example: a 400 km low Earth orbit to geostationary orbit

Take a satellite in a circular parking orbit 400 km above Earth's mean surface and move it to geostationary orbit. Choose Earth as the central body, so μ=398600.435507 km3/s2 and the mean radius is 6371.0084 km. Selecting altitude mode and typing 400 gives

Formula: r_1 = 6371.0084 + 400 = 6771.0084 km

r1=6371.0084+400=6771.0084 km

The geostationary radius is the one whose period equals Earth's sidereal rotation period of 0.99726968 days, or 86164.09 s:

Formula: r_2 = ((μT_sid^2)/(4π^2))^1/3 = 42164.17 km

r2=(μTsid24π2)1/3=42164.17 km

The circular speeds are vc1=398600.435507/6771.0084=7.672594 km/s and vc2=3.074666 km/s. The transfer ellipse has at=(6771.0084+42164.17)/2=24467.59 km and et=0.7233. Vis-viva on that ellipse gives a perigee speed of 10.072059 km/s and an apogee speed of 1.617446 km/s, so

Formula: Δv_1 = 10.072059 − 7.672594 = 2.399465 km/s

Δv1=10.0720597.672594=2.399465 km/s

Formula: Δv_2 = 3.074666 − 1.617446 = 1.457220 km/s

Δv2=3.0746661.617446=1.457220 km/s

giving a total of 3.856685 km/s, or 3.8567 km/s to five significant figures. The coast lasts π24467.593/398600.435507=19044 s, or 5.29 hours. Because the destination is a specific longitude slot rather than a moving spacecraft, the phase-angle output — 100.4 degrees for this case — tells you how far east of the target slot the geostationary point must be at the moment of the perigee burn.

One sanity check is worth internalising. The two circular speeds differ by 7.6726 − 3.0747 = 4.5979 km/s, yet the transfer costs only 3.8567 km/s. Gravity does the rest of the work for free while the spacecraft coasts outward and slows down. Any tool that reports a total equal to the difference of the circular speeds has the physics wrong.

Reading the delta-v budget, the animation and the energy bars

The results panel leads with the two burn magnitudes and the total, because that total is what you feed into the rocket equation to size a propellant load. The breakdown table underneath is the audit trail: it shows the radii actually used after any altitude conversion, the four characteristic speeds, the transfer ellipse geometry, the coast time, both circular periods, the synodic period and the phase angle. If a number in the headline ever looks surprising, the breakdown will show you which input caused it.

On the canvas the yellow disc is the central body, the two grey circles are the departure and destination orbits, and the orange curve is the transfer ellipse. The white marker is the spacecraft. The energy bars beneath split the spacecraft's instantaneous specific energy into a kinetic part 12v2 shown in orange and the magnitude of the potential part μr shown in blue. The readout below them prints the total specific energy

Formula: ε = v^2 / 2 − μ / r = − μ / (2 a)

ε=v22μr=μ2a

which must stay constant during the coast. Watching it hold steady while the two bars swing wildly is the clearest demonstration available that the integrator is conserving energy and that the ellipse is a genuine Keplerian orbit rather than a drawing.

Comparison of representative Hohmann transfers

Every row below was generated with the equations above using the JPL gravitational parameters and radii cited in the sources note; you can reproduce any of them by entering the two radii. Radii are measured from the centre of the central body.

Transfer Central body r₁ (km) r₂ (km) Total |Δv| (km/s) Coast time Phase angle (°)
400 km LEO to semi-synchronous Earth 6771.01 26561.76 3.418 2.97 h 90.5
400 km LEO to geostationary Earth 6771.01 42164.17 3.857 5.29 h 100.4
10000 km to 20000 km circular Earth 10000 20000 1.796 2.54 h 63.1
400 km low Mars orbit to areostationary Mars 3789.50 20427.69 1.643 5.62 h 97.9
Earth orbit to Venus orbit Sun 149598261 108209475 5.202 146.1 d −54.0
Earth orbit to Mars orbit Sun 149598261 227943822 5.594 258.9 d 44.3
Earth orbit to Jupiter orbit Sun 149598261 778340817 14.436 997.5 d 97.2

Three patterns are worth pulling out. Raising the target radius raises both the delta-v and, much faster, the coast time, because time scales as the three-halves power of the semi-major axis while delta-v saturates. Starting from a higher initial orbit makes the transfer dramatically cheaper — the 10000 to 20000 km case doubles the radius for 1.796 km/s, while doubling from 6771 km costs more per unit of radius gained, because the deep gravity well near the body demands a larger speed change for the same energy change. And the heliocentric rows show why interplanetary launch windows matter so much: with a synodic period measured in hundreds of days, missing a window is not an inconvenience, it is a multi-year delay.

Limitations of the impulsive, coplanar, two-body model

The model is deliberately idealised, and every idealisation costs accuracy in a predictable direction. Burns are impulsive. Real engines fire for minutes, sometimes hours, and the resulting finite-burn gravity loss adds a few per cent to the true budget for a chemical upper stage and far more for a low-thrust system. Both orbits are exactly circular and exactly coplanar. A real geostationary transfer from Cape Canaveral must also remove roughly 28 degrees of inclination; when combined optimally with the apogee burn that raises the practical figure well above the 3.857 km/s this page reports, and a plane change is fundamentally more expensive than a coplanar burn of the same magnitude. Only two bodies exist. There is no atmospheric drag, no solar radiation pressure, no oblateness term, no third-body perturbation from the Moon or Sun, and no patched-conic escape or capture cost, so an interplanetary total from this page is a heliocentric leg only and excludes the launch and orbit-insertion burns at each end.

Two further caveats are specific to how the results are used. The Hohmann transfer is optimal among two-impulse transfers between coplanar circles, but only for moderate radius ratios; beyond a ratio of roughly 11.94 a three-burn bi-elliptic transfer requires less total delta-v, though it takes far longer, and this page does not compute that alternative. And the Jupiter and Saturn presets carry JPL's system gravitational parameters, which include the mass of the major satellites; for orbits close to those planets you should substitute the planet-only value in the mu field. The animation carries its own caveat: it is a numerical integration and accumulates truncation error with large time steps, so treat the analytic results panel, not the drawn path, as authoritative.

Frequently asked questions about Hohmann transfers

Do I enter orbit radii or altitudes above the surface?

Either, as long as you tell the calculator which one you mean. The Hohmann equations only accept radii measured from the centre of the central body. Set the input mode to "Altitude above the mean surface" and the planner adds the body's mean radius for you before it computes anything. Mixing the two is the classic error: a 400 km altitude orbit around Earth has a radius of 6771 km, not 400 km, and treating 400 km as a radius would place the spacecraft deep inside the planet.

Why is the total delta-v not simply the difference of the two circular speeds?

Because the spacecraft does not move between the two circular orbits along a circle. It coasts along an ellipse, so it arrives at the outer orbit much slower than the local circular speed and needs a second prograde burn to circularise. For a 400 km LEO to geostationary transfer the circular speeds differ by 4.598 km/s, yet the two-impulse budget is only 3.857 km/s, because gravity does part of the work during the coast.

What gravitational parameter should I use for a planet with large moons?

For orbits close to the planet use the planet-only GM. The Jupiter and Saturn presets on this page carry the JPL DE440 system values, which include the Galilean and Saturnian satellites, so they are appropriate for heliocentric and far-field work but overstate the planet-only GM by roughly 0.02 percent for Jupiter. Edit the mu field directly if you need a planet-only value.

Is the Hohmann transfer always the cheapest way to change orbit?

No. It is the cheapest two-impulse transfer between coplanar circular orbits for moderate radius ratios. Once the ratio of the final to the initial radius exceeds about 11.94 a three-burn bi-elliptic transfer can beat it, at the cost of a far longer flight time. Low-thrust spiral trajectories can also be cheaper in propellant when a slow transfer is acceptable.

How does this calculator find the launch window?

It computes how far the target moves during the coast and subtracts that from 180 degrees. The required departure phase angle is 180 degrees minus the target's mean motion multiplied by the transfer time. Opportunities repeat every synodic period, which is one divided by the absolute difference of the two orbital frequencies. For an Earth to Mars transfer the planner returns about 44 degrees and 780 days, matching the roughly 25 to 26 month spacing NASA quotes for Mars launch opportunities.

Why does the animation drift slightly away from the analytic answer?

The animation integrates Newton's equations numerically with a fourth-order Runge-Kutta scheme, so it accumulates a small truncation error that grows with the time step. The delta-v and timing figures in the results panel are not taken from the integrator; they come from the closed-form vis-viva and Kepler expressions and are exact for the idealised model. Reduce the time step if you want the animated path to track the analytic ellipse more closely.

Sources and further reading

Sources. Gravitational parameters are the JPL planetary ephemeris DE440 values published by the NASA/JPL Solar System Dynamics group in Astrodynamic Parameters (ssd.jpl.nasa.gov/astro_par.html): Sun 1.32712440041279419 × 1011, Mercury 22031.868551, Venus 324858.592, Earth 398600.435507, Moon 4902.800118, Mars system 42828.375816, Jupiter system 126712764.1 and Saturn system 37940584.8418 km3/s2; the astronomical unit is 149597870700 m per IAU 2012 Resolution B1. Mean radii and sidereal rotation periods come from the same group's Planetary Physical Parameters table (ssd.jpl.nasa.gov/planets/phys_par.html) — Earth 6371.0084 km, Mars 3389.50 km, Venus 6051.8 km, Mercury 2439.4 km, Jupiter 69911 km, Saturn 58232 km — and the Moon's 1737.4 km mean radius from Planetary Satellite Physical Parameters (ssd.jpl.nasa.gov/sats/phys_par/). Heliocentric semi-major axes are the 1800-2050 Keplerian fits in Approximate Positions of the Planets (ssd.jpl.nasa.gov/planets/approx_pos.html). The transfer geometry and launch-window treatment follow NASA's Basics of Space Flight, Chapter 4, "Interplanetary Trajectories" (science.nasa.gov/learn/basics-of-space-flight/chapter4-1/), and the NASA/JPL Education lesson Let's Go to Mars! Calculating Launch Windows (jpl.nasa.gov/edu), whose 259-day coast and 44-degree phase angle this page reproduces as 258.9 days and 44.3 degrees. The vis-viva equation, the two-impulse delta-v expressions and the 11.94 bi-elliptic crossover are standard results in R. R. Bate, D. D. Mueller and J. E. White, Fundamentals of Astrodynamics (Dover, 1971) and D. A. Vallado, Fundamentals of Astrodynamics and Applications (Microcosm Press).

The astronomical unit, the sidereal rotation periods and the gravitational parameters are the only external constants this page relies on; every other number it reports is derived from them by the equations printed above. For neighbouring problems try the Orbital Period Simulator, the Orbital Velocity Calculator, or the Rocket Equation Calculator, which converts the delta-v budget produced here into a propellant mass fraction.

Central body and conventions
Loads the JPL DE440 gravitational parameter and mean radius.
Altitude mode adds the body's mean radius before computing.
Fills every field with a worked, sourced configuration.
Orbits and gravitational parameter
Departure orbit, measured from the body's centre.
Destination orbit, measured from the body's centre.
GM of the central body. Divide an SI value in m³/s² by 10⁹.
Used only when the input convention is altitude.
Between 0.1 and 100 s. Affects the animation only.

Enter two orbit radii and press Calculate transfer.

Earth, 400 km LEO to geostationary orbit is loaded by default.

Transfer breakdown
Quantity Symbol Value

Press Play animation to fly the transfer. The yellow disc is the central body, the grey circles are the two orbits and the orange curve is the transfer ellipse.

Specific energy readout appears while the animation is running.

Orbital Transfer Timing Drill

Enter orbit parameters above to configure the timing challenge. Align your burn so the spacecraft reaches the target orbit when the relay satellite swings by.

Time Left 75 s Score 0 Best

Enter valid orbit radii to unlock the drill.

Keyboard: Space to burn, R to reset. Tap the canvas on a touchscreen. Hit the window within a few degrees for big points.

Orbital timing mini-game requires canvas support.
Click to Play