Rocket final mass calculator
A 100000 kg rocket that gains 9400 of velocity with an exhaust velocity of 3500 ends with 6817.248197125795 kg and burns 93182.7518028742 kg of propellant. Any mass unit works, and both speeds just need to share one. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Initial mass
- 100,000
- Delta v
- 9,400
- Exhaust velocity
- 3,500
- Final mass
- 6,817.2481971258
- Propellant mass
- 93,182.7518028742
- Mass ratio
- 14.6686752643
- Unit hint
- mass same as initial_mass; Δv and ve share a velocity unit
Mission designers and students often know the wet mass on the pad, the velocity change a stage must deliver, and the engine’s effective exhaust speed—but still need the dry mass left after the burn. This rocket final mass calculator applies the inverted Tsiolkovsky equation in closed form: final mass equals initial mass times the exponential of negative delta-v over exhaust velocity. You get a deterministic dry mass, propellant mass, and mass ratio without spreadsheets, Monte Carlo noise, or a full trajectory stack. Inputs accept any consistent mass unit for m0 and any consistent velocity unit pair for Δv and ve; the result is ready for homework checks, stage sizing trades, and automated mass-budget pipelines.
From wet mass to what is left after the burn
The rocket equation ties the velocity change a stage can deliver to its exhaust velocity and to the ratio of its mass before and after the burn. Solving it for the final mass takes a single step: multiply the initial mass by the exponential of minus the velocity change divided by the exhaust velocity. Starting from 100000 with a velocity change of 9400 and an exhaust velocity of 3500, only 6817.248197125795 remains; the other 93182.7518028742 is propellant. The mass ratio, 14.668675264333, is the initial mass divided by the final mass.
When to use it and common mistakes
Students use it to check rocket-equation exercises, and designers use it for a first dry-mass estimate when sizing a stage. Enter the wet mass before the burn: the liftoff mass for a single stage, or the stage mass at ignition in a stack. The most common mistake is mixing velocity units, such as kilometres per second for one value and metres per second for the other. Keep in mind that this is the ideal baseline: gravity losses, drag, leftover propellant and staging effects belong in a fuller model.
Rocket equation rearranged for final dry mass
The classic Tsiolkovsky rocket equation states that achievable delta-v equals effective exhaust velocity times the natural log of the ratio of initial mass to final mass after propellant is expended. Solving for final mass is a single exponential: mf equals m0 times exp of negative Δv over ve. Equivalently, the mass ratio R equals m0 over mf equals exp of Δv over ve, so mf equals m0 divided by R.
A higher mission delta-v at fixed exhaust velocity drives a smaller final mass—more of the vehicle must be propellant.
What you can do with it
Homework and textbook checks
Convert wet mass, mission delta-v, and engine exhaust velocity into final dry mass and propellant mass for graded rocket-equation problems.
Trajectory mass-budget pipelines
Automate final mass and mass ratio from burn delta-v products for stage dashboards and continuous design reviews.
FAQ
What formula does the rocket final mass calculator use?
Final mass mf = m0 · exp(−Δv / ve), equivalently mf = m0 / R with mass ratio R = exp(Δv / ve), under ideal rocket assumptions.
Does this include gravity losses, drag, or multi-stage effects?
No. It returns the ideal single-burn final dry mass from m0, Δv, and ve only. Add losses and staging in your trajectory or vehicle model.
Which mass unit should I use?
Any unit you like. The final mass and the propellant mass come out in the same unit as the initial mass, so kilograms stay kilograms and tonnes stay tonnes.
What initial mass should I enter for a multi-stage rocket?
Enter the mass of the stack at the moment that stage ignites, not the liftoff mass of the whole vehicle. For a single-stage rocket, the liftoff mass is the right starting value.
How does a better engine change the final mass?
A higher exhaust velocity at the same velocity change leaves more final mass for structure, tanks and engines. A larger velocity change with the same engine leaves less, because more of the vehicle must be propellant.
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/rocket-final-mass \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"initial_mass":100000,"delta_v":9400,"exhaust_velocity":3500}'const res = await fetch("https://api.kit.forhosting.com/astro/rocket-final-mass", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"initial_mass": 100000,
"delta_v": 9400,
"exhaust_velocity": 3500
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/astro/rocket-final-mass",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"initial_mass": 100000,
"delta_v": 9400,
"exhaust_velocity": 3500
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/astro/rocket-final-mass", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"initial_mass":100000,"delta_v":9400,"exhaust_velocity":3500}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"initial_mass":100000,"delta_v":9400,"exhaust_velocity":3500}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/astro/rocket-final-mass", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"initial_mass": 100000,
"delta_v": 9400,
"exhaust_velocity": 3500
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "astro.rocket_final_mass",
"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.
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
Rocket equation rearranged for final dry mass
A higher ve at fixed Δv leaves more dry mass budget for structure, tanks, engines, and payload. This capability returns final_mass, propellant_mass as m0 minus mf, and the intermediate mass_ratio so you can cross-check textbooks that quote either form. It does not model gravity losses, atmospheric drag, multi-stage discontinuities, residual propellant, or structural mass fractions: those belong in a full vehicle or trajectory model. What it provides is the clean ideal-rocket baseline every preliminary dry-mass estimate starts from, computed the same way in the free on-page tool and on the API path with stable twelve-decimal rounding for reproducible goldens and client tests.
Inputs, units, aliases, and validation rules
Any consistent velocity unit pair is fine because the ratio Δv over ve is dimensionless; do not mix kilometers per second on one field with meters per second on the other without converting first. Exhaust velocity must also be strictly positive. Finite numeric values are required for all three fields; empty strings, NaN, and Infinity fail fast with a clear field message. Pass initial_mass as the wet mass before the burn—liftoff mass for a single-stage vehicle or stage mass at ignition for a multi-stage stack. It must be a strictly positive finite number; zero or negative mass is physically invalid and is rejected with invalid_input so the task is never charged. Pass delta_v as the ideal velocity change under rocket-equation assumptions—typical rough LEO budgets sit near nine to ten kilometers per second before losses, while an upper-stage burn may use a much smaller figure. Pass exhaust_velocity as effective exhaust speed, not merely chamber velocity: many teams convert specific impulse with ve equals Isp times g0 when they work in seconds of Isp, then feed ve in meters per second alongside Δv in meters per second. Aliases such as m0, wet_mass, dv, deltaV, ve, v_e, and vex are accepted so notebooks and pipelines need not rename columns. On success the body echoes the three inputs and adds final_mass, propellant_mass, mass_ratio, formula, and unit_hint.
Where a final-mass API fits education, design, and automation
Aerospace and astronautics courses use a rocket final mass from delta-v calculator so students turn homework triples of wet mass, Δv, and ve into dry mass before they open a full vehicle spreadsheet. Preliminary design teams fix a mission delta-v and engine class, then sweep initial mass or ve to see how much dry mass remains for payload and structure. Because the implementation is pure analytic JavaScript with no AI and no external services, browser preview and paid API results match after stable rounding. Successful API calls bill at $0.002 per request; validation failures on missing fields, non-positive initial mass, or non-positive exhaust velocity do not consume balance. Pair the returned dry mass with your own structural mass fraction and payload allocation when you close a full mass stack-up; this capability stays focused on the rocket-equation inversion so it stays fast, auditable, and free of hidden trajectory assumptions.
Integration use cases
Stage sizing and engine trades
Fix Δv and sweep ve or m0 to see remaining dry mass budget for structure and payload across LOX/RP, LOX/LH2, or electric classes.
Technical questions
What happens if initial mass is zero or negative?
The request fails with invalid_input stating that initial_mass must be positive. Failed validation is not charged.
Can I enter specific impulse instead of exhaust velocity?
Convert first: ve = Isp × g0 (typically g0 ≈ 9.80665 m/s²) so Δv and ve share the same velocity unit, then pass ve as exhaust_velocity.
How much does the API cost?
$0.002 per successful request. The on-page tool runs free in your browser with the same analytic core.