Orbital Period Calculator
ANA›Life Services Authority›National Calculator Authority›Orbital Period Calculator
.calc-container { max-width: 640px; margin: 2rem 0; padding: 1.5rem; background: #fff; border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.06); font-family: system-ui, -apple-system, sans-serif; } .calc-container h3 { font-family: Georgia, serif; font-size: 1.15rem; color: #1a1a1a; margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; flex-wrap: wrap; } .calc-row label { min-width: 160px; font-size: 0.9rem; color: #333; font-weight: 500; } .calc-row input[type="number"], .calc-row select { flex: 1; min-width: 120px; max-width: 200px; padding: 0.5rem 0.6rem; border: 1px solid #ccc; border-radius: 4px; font-size: 0.9rem; font-family: system-ui, sans-serif; color: #1a1a1a; background: #fafaf8; } .calc-row input:focus, .calc-row select:focus { outline: none; border-color: var(--ac, #3d5a80); box-shadow: 0 0 0 2px rgba(26,74,138,0.12); } .calc-row .unit { font-size: 0.82rem; color: #888; min-width: 30px; } .calc-btn { display: inline-block; margin-top: 0.5rem; padding: 0.55rem 1.5rem; background: var(--ac, #3d5a80); color: #fff; border: none; border-radius: 4px; font-size: 0.9rem; font-weight: 600; cursor: pointer; font-family: system-ui, sans-serif; } .calc-btn:hover { opacity: 0.9; } .calc-result { margin-top: 1.25rem; padding: 1rem 1.25rem; background: #f0f6fc; border-left: 3px solid var(--ac, #3d5a80); border-radius: 0 6px 6px 0; display: none; } .calc-result.visible { display: block; } .calc-result-label { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: #666; margin-bottom: 0.25rem; } .calc-result-value { font-size: 1.6rem; font-weight: 700; color: var(--ac, #3d5a80); } .calc-result-detail { font-size: 0.85rem; color: #555; margin-top: 0.5rem; line-height: 1.5; } .calc-note { margin-top: 1rem; font-size: 0.8rem; color: #888; font-style: italic; } .calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-top: 0.75rem; } .calc-grid-item { padding: 0.6rem 0.8rem; background: #f8f9fa; border-radius: 4px; border: 1px solid #eee; } .calc-grid-item .label { font-size: 0.75rem; color: #888; text-transform: uppercase; letter-spacing: 0.04em; } .calc-grid-item .value { font-size: 1.1rem; font-weight: 600; color: #1a1a1a; } @media (max-width: 720px) { .calc-row { flex-direction: column; align-items: flex-start; gap: 0.3rem; } .calc-row label { min-width: auto; } .calc-row input[type="number"], .calc-row select { max-width: 100%; width: 100%; } .calc-grid { grid-template-columns: 1fr; } } .calc-chart { margin: 1rem 0; text-align: center; } .calc-chart svg { max-width: 100%; height: auto; } .calc-chart-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem 1.2rem; margin-top: 0.6rem; font-size: 0.8rem; color: #555; } .calc-chart-legend span { display: inline-flex; align-items: center; gap: 0.3rem; } .calc-chart-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; font-style: normal; } .calc-related { max-width: 640px; margin: 2rem 0 1rem; padding: 1.25rem 1.5rem; background: #f8f9fa; border: 1px solid #e8e8e8; border-radius: 8px; } .calc-related h3 { font-family: Georgia, serif; font-size: 1rem; color: #1a1a1a; margin: 0 0 0.75rem; padding-bottom: 0.4rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-related-list { list-style: none; padding: 0; margin: 0 0 0.75rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem 1.5rem; } .calc-related-list li a { font-size: 0.88rem; color: var(--ac, #3d5a80); text-decoration: none; } .calc-related-list li a:hover { text-decoration: underline; } .calc-browse-all { margin: 0.5rem 0 0; font-size: 0.9rem; font-weight: 600; } .calc-browse-all a { color: var(--ac, #3d5a80); text-decoration: none; } .calc-browse-all a:hover { text-decoration: underline; } @media (max-width: 720px) { .calc-related-list { grid-template-columns: 1fr; } }
Orbital Period Calculator
Calculate the orbital period of any object orbiting a central body using Kepler's Third Law of Planetary Motion.
Semi-Major Axis (a)
km m AU light-years
Distance from the orbiting body to the center of mass of the central body
Mass of Central Body (M)
kg Solar masses Earth masses
Mass of the body being orbited (e.g. Sun = 1.989 × 10³⁰ kg)
Orbital Eccentricity (e) (optional, default = 0)
Eccentricity does not affect the period — only the semi-major axis matters (Kepler's 3rd Law)
Output Unit
Seconds (s) Minutes Hours Days Years
Calculate Orbital Period
function orbCalc() { const resultDiv = document.getElementById('orb-result'); const errorDiv = document.getElementById('orb-error'); resultDiv.style.display = 'none'; errorDiv.style.display = 'none';
// --- Read inputs --- const aRaw = parseFloat(document.getElementById('orb-semi-major-axis').value); const mRaw = parseFloat(document.getElementById('orb-central-mass').value); const eccRaw = document.getElementById('orb-eccentricity').value.trim(); const axisUnit = document.getElementById('orb-axis-unit').value; const massUnit = document.getElementById('orb-mass-unit').value; const outUnit = document.getElementById('orb-output-unit').value;
// --- Validate --- function showError(msg) { errorDiv.textContent = msg; errorDiv.style.display = 'block'; }
if (isNaN(aRaw) || document.getElementById('orb-semi-major-axis').value.trim() === '') { return showError('Please enter a valid semi-major axis.'); } if (aRaw = 1) { return showError('Eccentricity must be between 0 (inclusive) and 1 (exclusive) for a bound orbit.'); } }
// --- Constants --- const G = 6.674e-11; // m³ kg⁻¹ s⁻²
// --- Convert semi-major axis to metres --- let a_m; if (axisUnit === 'm') a_m = aRaw; else if (axisUnit === 'km') a_m = aRaw * 1e3; else if (axisUnit === 'au') a_m = aRaw * 1.495978707e11; else if (axisUnit === 'ly') a_m = aRaw * 9.4607304725808e15;
// --- Convert mass to kg --- let M_kg; if (massUnit === 'kg') M_kg = mRaw; else if (massUnit === 'solar') M_kg = mRaw * 1.989e30; else if (massUnit === 'earth') M_kg = mRaw * 5.972e24;
// --- Kepler's Third Law: T = 2π √(a³ / GM) --- const T_s = 2 * Math.PI * Math.sqrt(Math.pow(a_m, 3) / (G * M_kg));
if (!isFinite(T_s) || isNaN(T_s)) { return showError('Calculation resulted in an invalid number. Please check your inputs.'); }
// --- Convert period to desired output unit --- let T_out, unitLabel; if (outUnit === 's') { T_out = T_s; unitLabel = 'seconds'; } else if (outUnit === 'min') { T_out = T_s / 60; unitLabel = 'minutes'; } else if (outUnit === 'hr') { T_out = T_s / 3600; unitLabel = 'hours'; } else if (outUnit === 'day') { T_out = T_s / 86400; unitLabel = 'days'; } else if (outUnit === 'yr') { T_out = T_s / 31557600; unitLabel = 'years'; } // Julian year
// --- Also compute a human-readable breakdown --- function breakdown(seconds) { const yrs = Math.floor(seconds / 31557600); const rem1 = seconds % 31557600; const days = Math.floor(rem1 / 86400); const rem2 = rem1 % 86400; const hrs = Math.floor(rem2 / 3600); const rem3 = rem2 % 3600; const mins = Math.floor(rem3 / 60); const secs = Math.round(rem3 % 60); let parts = []; if (yrs > 0) parts.push(yrs + ' yr' + (yrs !== 1 ? 's' : '')); if (days > 0) parts.push(days + ' day' + (days !== 1 ? 's' : '')); if (hrs > 0) parts.push(hrs + ' hr' + (hrs !== 1 ? 's' : '')); if (mins > 0) parts.push(mins + ' min' + (mins !== 1 ? 's' : '')); if (secs > 0 || parts.length === 0) parts.push(secs + ' sec' + (secs !== 1 ? 's' : '')); return parts.join(', '); }
// --- Format number nicely --- function fmt(n) { if (n >= 1e6 || (n 0)) return n.toExponential(6); return parseFloat(n.toPrecision(8)).toLocaleString('en-US', {maximumFractionDigits: 6}); }
// --- Orbital velocity at periapsis / apoapsis (bonus info) --- const ecc = eccRaw !== '' ? parseFloat(eccRaw) : 0; const mu = G * M_kg; // standard gravitational parameter // vis-viva at semi-major axis (mean orbital speed approximation for circular) const v_mean = 2 * Math.PI * a_m / T_s; // m/s (exact for circular, approximate for elliptical)
resultDiv.innerHTML = '' + 'T = ' + fmt(T_out) + ' ' + unitLabel + '' + 'Breakdown: ' + breakdown(T_s) + '' + 'Period in seconds: ' + fmt(T_s) + ' s' + 'Mean orbital speed: ' + fmt(v_mean / 1000) + ' km/s' + 'Semi-major axis used: ' + fmt(a_m / 1.495978707e11) + ' AU (' + fmt(a_m) + ' m)';
resultDiv.style.display = 'block'; }
#### Formula
Kepler's Third Law (Newton's form):
T = 2π √( a³ / GM )
- T — Orbital period (seconds)
- a — Semi-major axis of the orbit (metres)
- G — Gravitational constant = 6.674 × 10⁻¹¹ m³ kg⁻¹ s⁻²
- M — Mass of the central body (kg)
Note: The orbital period depends only on the semi-major axis and the central mass — not on eccentricity. Two orbits with the same semi-major axis but different eccentricities have identical periods (Kepler's Third Law).
Mean orbital speed (circular approximation): v = 2πa / T
#### Assumptions & References
- Reference: Newton, I. (1687). Principia Mathematica; Kepler, J. (1619). Harmonices Mundi.
More Calculators
- Charging Time Calculator by Charger Level and Battery Size
- Breathing Rate & Pattern Calculator
- EV Range vs Michigan Winter Temperature Calculator
- Derivative and Integral Step-by-Step Calculator
- Home Charging Station Installation Cost Estimator
- EV Range and Trip Planner Calculator
- Charging Speed and Time Calculator
- California ABC License Fee Estimator
- Chicago Hotel Occupancy Tax Calculator
- Banquet Room Capacity and Pricing Calculator
- Restaurant Profit Margin Calculator
- Event Venue Capacity Planner
Read Next
Event Venue Capacity Planner ANA › Life Services Authority › National Calculator Authority › Event Venue Capacity Planner .calc-container { max-width:...
Study Time Planner Authority Network America › Life Services Authority › National Calculator Authority .calc-container { max-width: 640px;...