True anomaly from eccentric anomaly calculator
Turn the eccentric anomaly into the real angle of a body around its focus: with an eccentricity of 0.5, an eccentric anomaly of 90° becomes a true anomaly of 120°. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Eccentric anomaly
- 90
- Eccentricity
- 0.5
- True anomaly
- 120 deg
- True anomaly rad
- 2.0943951024
True anomaly is the angle at the focus from periapsis to the orbiting body; eccentric anomaly is the corresponding auxiliary angle measured at the geometric center of the ellipse. Mission design, homework, and ephemeris checks often hold eccentricity and eccentric anomaly after solving Kepler’s equation, then need the geometric true anomaly without standing up a full orbital-mechanics stack. This capability applies the classical half-angle tangent identity that links the two angles for closed elliptical paths, returns degrees with a stable radian companion field, and rejects eccentricity outside the elliptical range with a clear invalid input error.
What true and eccentric anomaly mean and the half-angle relation
In two-body Keplerian dynamics an elliptical orbit is fixed by a positive semi-major axis and a dimensionless eccentricity e strictly less than one. The true anomaly ν measures the polar angle of the body as seen from the occupied focus, starting at periapsis and increasing in the direction of motion.
The eccentric anomaly E is measured from the ellipse center: if you draw a circle of radius equal to the semi-major axis and project the body onto that auxiliary circle parallel to the minor axis, E is the central angle of that projected point. Kepler’s equation relates mean anomaly to E; once E is known, geometry alone converts E into ν.
The standard half-angle tangent relation states that the tangent of half the true anomaly equals the square root of one plus e over one minus e, times the tangent of half the eccentric anomaly. Equivalently, ν equals twice the two-argument arctangent of β times sine of E over two against cosine of E over two, with β equal to that same square-root factor. When e is zero the orbit is circular, β collapses to one, and true anomaly equals eccentric anomaly at every point.
When e approaches one from below the mapping stretches angles near apoapsis and compresses them near periapsis, matching the slow motion far from the focus and the rapid swing through periapsis.
Classroom checks and what the tool leaves out
Call the free in-browser true anomaly from eccentric anomaly calculator for lecture demos, homework checks, and quick verification of the half-angle formula without installing Orekit, GMAT, or a local MATLAB aerospace toolbox. Typical classroom examples include a circular case with e exactly zero where true anomaly equals the supplied eccentric anomaly, a moderate ellipse such as e equals one half and E equals ninety degrees that yields a true anomaly of one hundred twenty degrees, and a near-circular low-Earth-orbit shape with e of a few hundredths.
Extremely large angle magnitudes are bounded for isolate safety; stay within the published numeric range for reliable results.
FAQ
What happens if eccentricity is 1 or greater?
Parabolic and hyperbolic cases use different anomaly conventions and are outside this product contract.
What if eccentricity is zero?
The orbit is circular: true anomaly equals eccentric anomaly (after degree normalization to [0, 360)).
Is the true anomaly from eccentric anomaly calculator free?
The browser tool runs free on your device.
Does it solve Kepler's equation from the mean anomaly?
No. It starts after that step: you supply the eccentric anomaly you already have, and it converts it to the true anomaly with the half-angle formula. Finding the eccentric anomaly from the mean anomaly is a separate calculation.
What range is the true anomaly given in?
The angle is reported from 0° up to, but not including, 360°, so any eccentric anomaly you enter lands in one familiar turn. The same angle is also shown in radians, from zero up to two pi.
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/true-anomaly-from-eccentric \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"eccentric_anomaly":90,"eccentricity":0.5}'const res = await fetch("https://api.kit.forhosting.com/astro/true-anomaly-from-eccentric", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"eccentric_anomaly": 90,
"eccentricity": 0.5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/astro/true-anomaly-from-eccentric",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"eccentric_anomaly": 90,
"eccentricity": 0.5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/astro/true-anomaly-from-eccentric", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"eccentric_anomaly":90,"eccentricity":0.5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"eccentric_anomaly":90,"eccentricity":0.5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/astro/true-anomaly-from-eccentric", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"eccentric_anomaly": 90,
"eccentricity": 0.5
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "astro.true_anomaly_from_eccentric",
"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
What true and eccentric anomaly mean and the half-angle relation
This endpoint evaluates that closed form only; it does not solve Kepler’s equation for E from mean anomaly, nor does it integrate perturbed equations of motion.
Input contract, response fields, units, and error behaviour
Eccentricity must satisfy zero less than or equal to e and e strictly less than one—the product contract for elliptical orbits. Missing fields, empty strings, and non-finite values fail the same way, naming the field. Degrees are the primary product unit because homework and most mission-concept worksheets quote anomalies in degrees; the radian field is included for pipelines that feed continuous-angle integrators without converting twice. POST a JSON object with two required finite numbers. Field eccentric_anomaly is the eccentric anomaly E in degrees; aliases E, E_deg, and eccentric_anomaly_deg are accepted. Field eccentricity is the dimensionless orbital eccentricity e; aliases e and ecc are accepted. Negative eccentricity, e equal to one (parabolic), and e greater than one (hyperbolic) all fail with invalid_input and are not billed after rejection. On success the body echoes eccentric_anomaly and eccentricity, reports true_anomaly in degrees normalized to the half-open interval from zero inclusive to three hundred sixty exclusive, reports true_anomaly_rad as the same angle in radians on zero to two pi, sets unit to the string deg, sets formula to the half-angle tangent identity string, and sets method to half_angle_tangent so clients can branch without sniffing shapes. The calculator does not accept a unit switch input: always send E in degrees and always read true_anomaly as degrees unless you deliberately consume true_anomaly_rad.
API usage, pricing, classroom workflows, and practical limits
Use the prepaid API when a tutoring platform, coding-assessment sandbox, curriculum generator, or lightweight mission-design pipeline needs a stable contract under KIT balance at $0.002 per successful item; validation failures never consume balance after the engine rejects the request. Authors shipping SDKs can chain this endpoint after a mean-anomaly-to-eccentric-anomaly solve, then pair the true anomaly with apoapsis-periapsis or orbital-velocity tools when the next question is position or speed at that point on the ellipse—building multi-step orbital-mechanics lesson flows without embedding a full astrodynamics library in every language.
Integration use cases
Homework and exam verification
Students and graders convert known eccentric anomaly and eccentricity into true anomaly with the half-angle formula, and get a clear invalid_input error when e is outside the elliptical range.
Tutoring and curriculum generators
Lesson builders produce worked Keplerian anomaly examples with structured JSON for flashcards, step sheets, and auto-graded drills without embedding a full orbital library.
Lightweight mission concept pipelines
Early design tools that already hold E from Kepler’s equation call a prepaid endpoint for ν instead of reimplementing the half-angle tangent map in every service language.
Technical questions
How do I convert eccentric anomaly to true anomaly?
Send JSON with eccentric_anomaly E in degrees and eccentricity e in the range 0 ≤ e < 1. The response includes true_anomaly in degrees from the half-angle tangent relation tan(ν/2)=√((1+e)/(1-e))·tan(E/2), plus true_anomaly_rad, formula, and method.
Are angles in degrees or radians?
Input eccentric_anomaly is in degrees. Output true_anomaly is in degrees; true_anomaly_rad provides the same angle in radians for pipelines that need continuous radian measures.