Rocket equation calculator
Turn exhaust speed and mass ratio into the velocity change a stage can deliver in empty space with no outside forces: 3000 m/s with a mass ratio of 2.718281828459 gives 2999.99999999995 m/s, because its natural log is 1. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Effective exhaust velocity ve
- 3,000
- Mass ratio
- 2.7182818285
- Ve
- 3,000
- V e
- 3,000
- R
- 2.7182818285
- Wet to dry
- 2.7182818285
The ideal rocket equation links exhaust velocity and propellant load to the delta-v a stage can deliver in free space. Mission-sketch students, propulsion homework, game rocket budgets, and coding kata authors all need the same deterministic number without opening a spreadsheet.
What the Tsiolkovsky rocket equation means
In the ideal single-stage model, a rocket ejects propellant at a constant effective exhaust velocity ve relative to the vehicle while no external forces act. Momentum balance then integrates to the closed form delta-v equals ve times the natural logarithm of the initial mass over the final mass.
The mass ratio R equals wet over dry equals m zero over m final is dimensionless and must be at least one: R equals one means no propellant was burned and delta-v is zero; R greater than one means propellant mass left the vehicle. Exhaust velocity is often written as specific impulse times standard gravity, ve equals Isp times g zero, so either a pure ve or an equivalent product may be supplied if you convert consistently.
Real stages also fight gravity and drag, so achievable mission delta-v is usually less than this vacuum ideal, but textbooks, rough budgets, and interview questions still start from Tsiolkovsky. The formula is independent of burn time and thrust history under the constant-ve free-space assumptions; multi-stage vehicles apply the same relation stage by stage and sum the deltas.
Teachers should stress that mass ratio below one is not a meaningful burn: it would imply mass increasing while thrusting, which this tool rejects instead of returning a negative logarithm or a complex result.
Practical tips, limits, and related searches
Keep exhaust velocity and mass ratio inside the published absolute range so ve times ln of R cannot overflow into a non-finite delta-v that the solver must reject. Prefer sending numbers rather than pre-formatted strings when you control the client; string numbers are accepted only when they match a strict finite numeric pattern.
Classic checks include ve of three thousand with R equal to e giving roughly three thousand of delta-v, and ve of four thousand five hundred with R of ten giving about ten thousand three hundred sixty of delta-v in the same units. This landing targets people searching for a rocket equation calculator, Tsiolkovsky delta-v, or wet-to-dry mass ratio online; it is not an orbital mechanics transfer planner, not an escape-velocity tool, not a multi-stage stack optimizer with gravity losses, and not a chemical equilibrium engine model.
Prefer this capability when you already have ve and R and only need ideal single-stage delta-v; if your source gives propellant mass and dry mass separately, form R equals dry plus propellant over dry first.
FAQ
What happens if the mass ratio is below one?
Final mass cannot exceed initial mass in this model, so a ratio below one is rejected rather than computing ln of a value less than one.
What units should I use?
Delta-v is returned in the same units. Mass ratio is dimensionless.
Does this include gravity and drag losses?
No. It returns ideal free-space single-stage delta-v only. Real launches need extra budget for gravity, drag, and steering losses.
Is the rocket equation calculator free?
The browser tool is free and runs locally.
How do I use it for a rocket with several stages?
Apply the equation to each stage on its own, with that stage's exhaust velocity and mass ratio, and add up the results. The total is still an ideal figure for empty space, before any gravity or drag losses.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/astro/tsiolkovsky-rocket \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"exhaust_velocity":3000,"mass_ratio":2.718281828459}'const res = await fetch("https://api.kit.forhosting.com/astro/tsiolkovsky-rocket", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"exhaust_velocity": 3000,
"mass_ratio": 2.718281828459
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/astro/tsiolkovsky-rocket",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"exhaust_velocity": 3000,
"mass_ratio": 2.718281828459
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/astro/tsiolkovsky-rocket", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"exhaust_velocity":3000,"mass_ratio":2.718281828459}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"exhaust_velocity":3000,"mass_ratio":2.718281828459}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/astro/tsiolkovsky-rocket", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"exhaust_velocity": 3000,
"mass_ratio": 2.718281828459
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "astro.tsiolkovsky_rocket",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Limits
max_abs | 1000000000000 |
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
A mass ratio below one is rejected with invalid_input because final mass cannot exceed initial mass in a pure burn.
How to call the API and what comes back
Send a JSON body with two required finite numbers: exhaust_velocity (aliases ve, v_e, v_exhaust, isp_times_g0) and mass_ratio (aliases R, wet_to_dry, wet_dry_ratio, m0_over_mf). Absolute values must stay within the published limit of one trillion so products and logarithms remain finite in IEEE double precision on the Worker and in the browser. Mass ratio must be greater than or equal to one; any value strictly below one yields invalid_input and is never charged. On success the response echoes rounded exhaust_velocity and mass_ratio under several alias keys, sets ln_mass_ratio and ln_R to the natural logarithm of R, delta_v and delta_v_same_units to ve times that logarithm in the same unit system as ve, formula to the string delta-v equals ve times ln of R, equation to a human-readable substitution line, units to a map explaining dimensionless ratio and shared velocity units, message to a short English summary, and steps to an ordered array of given-values, formula, logarithm, product, and summary lines. Failed validation—missing fields, non-finite numbers, values outside absolute limits, non-finite logarithm or product, or a mass ratio below one—returns invalid_input. Pricing is a flat $0.002 per successful request with unit item and zero marginal unit price.
Practical tips, limits, and related searches
Convert Isp to exhaust velocity first if your source quotes seconds: multiply by the g zero your syllabus uses, then pass that product as exhaust_velocity. Failed tasks that return invalid_input do not consume prepaid balance, which keeps exploratory scripts cheap when learners deliberately send a mass ratio below one. Round-trip checks are easy: recompute ln of R by hand, multiply by ve, and confirm the published delta_v matches within the same twelve-decimal rounding.
Integration use cases
Homework checks for ideal stage delta-v
Students enter textbook exhaust velocity and wet-to-dry ratio and compare hand-written ve·ln(R) against a deterministic JSON result before submitting.
Unit tests for propulsion or game physics code
Generate known-good Tsiolkovsky cases plus deliberate mass-ratio-below-one rejections for coding kata expected values.
Rough mission and stage mass budgets
Early design sketches feed ve and mass ratio into the API to size propellant fractions without shipping a full trajectory integrator.
Technical questions
What is the ideal rocket equation?
The Tsiolkovsky equation states Δv = ve · ln(m₀/m_f), where ve is effective exhaust velocity and m₀/m_f is the wet-to-dry mass ratio. It assumes constant ve and free space with no external forces.