Orbital angular momentum calculator
A satellite 7,000,000 m from the planet's centre moving at 7500 m/s along the local horizontal carries 52,500,000,000 m²/s of angular momentum per unit of its weight. Tilt the path and the figure drops. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Speed
- 7,500
- Radius
- 7,000,000
- Path angle
- 0
- Specific angular momentum
- 52,500,000,000 m²/s
This orbital angular momentum calculator returns the specific angular momentum of an orbiting body from three instantaneous quantities: its speed, its distance from the centre of the primary body, and its flight-path angle. The angle is measured from the local horizontal, making zero degrees a purely transverse direction. Enter radius in metres, speed in metres per second, and the signed path angle in degrees to receive specific angular momentum in square metres per second. The calculation is deterministic and does not require the orbiting body's mass.
What specific orbital angular momentum represents
Specific orbital angular momentum describes orbital angular momentum per unit mass. It is commonly written as h and has units of square metres per second. The quantity depends on the cross product of the position and velocity vectors, so only the component of velocity perpendicular to the radius contributes.
That geometric fact is why this calculator asks for a flight-path angle as well as speed and radius. A path angle of zero degrees means motion along the local horizontal, perpendicular to the radius, and gives the largest magnitude available for the supplied speed and radius. As the path becomes more radial, the perpendicular velocity component becomes smaller.
At plus or minus ninety degrees the motion is radial and the calculated specific angular momentum is ideally zero, apart from ordinary floating-point precision. Because mass has been divided out, the result can characterize the trajectory without knowing whether the orbiting object is a spacecraft, satellite, asteroid, or planet. This capability calculates the scalar signed by the cosine convention; it does not return the three-dimensional angular-momentum vector or its orientation in an inertial coordinate frame.
How to enter radius, speed, and path angle
Use the instantaneous distance from the central body's centre for radius, not altitude above its surface. For example, a spacecraft altitude must be added to the body's relevant reference radius before it is entered. Supply that radius in metres and speed in metres per second.
The flight-path angle is entered in degrees and is measured from the local horizontal: zero is transverse motion, a positive value conventionally indicates motion away from the central body, and a negative value indicates motion toward it. The calculation uses h = r times v times cosine of the path angle. Since cosine is even, equal positive and negative path angles produce the same scalar value here; the sign distinguishes ascent from descent but does not change the magnitude of the transverse component.
All three fields are required and must be finite numbers. Speed must not be negative, and radius may be zero but must never be negative. Keeping one unit system throughout is essential.
If kilometres and kilometres per second are used outside this interface, their product would be square kilometres per second, but this calculator's declared inputs are SI metres and metres per second so its output is consistently square metres per second.
Interpreting and checking the result
For motion governed by an ideal central force, specific angular momentum remains constant along the orbit. That makes the result useful for checking whether two state descriptions could belong to the same unperturbed trajectory, or for carrying an instantaneous state into later orbital calculations. A quick reasonableness check is to compare the answer with r multiplied by v.
The magnitude cannot exceed that product when the supplied speed and radius are non-negative, because the absolute value of cosine cannot exceed one. A zero result can mean zero radius, zero speed, or a purely radial path. It does not by itself mean that the body is stationary.
Real trajectories can experience thrust, atmospheric drag, nonspherical gravity, and third-body perturbations, so values derived from measurements at different times may not match exactly. Measurement uncertainty also matters: uncertainty in radius and speed scales the answer directly, while angle uncertainty has a stronger relative effect near radial flight. This calculator performs the geometric computation only.
It does not infer an orbit, calculate total angular momentum, apply a gravitational parameter, propagate a state, or decide whether a trajectory is bound. Multiply specific angular momentum by mass separately if total angular momentum is needed and the mass is known.
What you can do with it
Evaluate a spacecraft state
Convert an instantaneous radius, speed, and flight-path angle into the specific angular momentum used by many orbital mechanics equations.
Compare points on a trajectory
Check whether state measurements at different locations give approximately constant specific angular momentum under a central-force model.
Separate transverse from radial motion
See how the flight-path angle reduces angular momentum even when the body's total speed remains unchanged.
FAQ
What formula is used?
It uses h = r × v × cos(path angle), where the path angle is measured from the local horizontal.
Should I enter altitude or orbital radius?
Enter distance from the central body's centre. Add altitude to the body's reference radius when starting from an altitude.
Why is mass not an input?
The result is specific angular momentum, meaning angular momentum per unit mass, so the orbiting body's mass cancels out.
What does the flight-path angle mean?
It is measured from the local horizontal. At zero degrees the motion is purely sideways, at right angles to the line from the centre, which gives the largest result; as the path tilts toward that line, the result shrinks.
What happens at a path angle of 90 degrees?
The motion is then purely radial, straight toward or away from the central body, so no part of the velocity is left at right angles to the radius and the specific angular momentum is zero.
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/mech/orbital-angular-momentum \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"speed":7500,"radius":7000000,"path_angle":0}'const res = await fetch("https://api.kit.forhosting.com/mech/orbital-angular-momentum", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"speed": 7500,
"radius": 7000000,
"path_angle": 0
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/mech/orbital-angular-momentum",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"speed": 7500,
"radius": 7000000,
"path_angle": 0
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/mech/orbital-angular-momentum", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"speed":7500,"radius":7000000,"path_angle":0}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"speed":7500,"radius":7000000,"path_angle":0}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/mech/orbital-angular-momentum", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"speed": 7500,
"radius": 7000000,
"path_angle": 0
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "mech.orbital_angular_momentum",
"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 questions
What does the calculator cost?
It is free to use in the browser, and an API request costs $0.002.
Can the radius be negative?
No. A negative radius is physically invalid and produces an invalid_input error. Zero is accepted mathematically and returns zero.