Explore a transparent forward-only altitude physiology model using altitude, PaCO₂, A–a difference, and respiratory quotient. The modeled saturation is not a personal SpO₂ prediction or safe-ascent limit.
Privacy: If you enable “Save my inputs…”, values are stored only in your browser on this device; use Reset or disable saving to clear.
Oxygen Saturation at Altitude Formula
This calculator is a transparent, forward-only physiology model. It first estimates barometric pressure at the entered altitude, then applies a room-air alveolar gas equation, subtracts the A–a oxygen difference supplied by the user, and finally converts the modeled arterial oxygen tension to a standard-condition oxyhemoglobin saturation.
PB = 760 × (1 − 2.25577 × 10⁻⁵ × altitude in meters)^5.25588 PAO₂ = 0.2095 × (PB − 47) − PaCO₂ ÷ RQ Modeled PaO₂ = PAO₂ − entered A–a oxygen difference Modeled saturation (%) = 100 ÷ [1 + 23,400 ÷ (PaO₂³ + 150 × PaO₂)]
The last equation is the Severinghaus relationship used here at standard blood conditions of 37°C and pH 7.40. The output is therefore labeled modeled standard-condition oxyhemoglobin saturation. It is not a measured pulse-oximeter value, a personal expected SpO₂, a target, or an altitude-safety limit.
Variables and Units
| Variable | Meaning | Unit |
|---|---|---|
| PB | Modeled barometric pressure at the entered altitude | mmHg |
| PAO₂ | Estimated alveolar oxygen tension on room air | mmHg |
| PaCO₂ | Measured or assumed arterial carbon-dioxide tension | mmHg or kPa |
| RQ | Respiratory quotient; blank uses the disclosed value 0.8 | Unitless |
| A–a difference | Entered alveolar-to-arterial oxygen difference assumption | mmHg or kPa |
| Modeled PaO₂ | PAO₂ minus the entered A–a difference | mmHg |
The calculator accepts altitude from −500 through 5,500 meters, with feet converted to meters. It converts kPa to mmHg using 1 kPa = 7.50062 mmHg. PaCO₂ must be greater than zero, the A–a difference cannot be negative, and RQ must be greater than zero and no more than 1.5. If the assumptions produce a nonpositive PAO₂ or modeled PaO₂, the calculator stops instead of forcing a plausible-looking saturation.
What Does This Altitude Oxygen Model Estimate?
Air at altitude still contains about 20.9% oxygen, but total barometric pressure falls as elevation rises. Because oxygen’s partial pressure falls with that total pressure, less oxygen pressure is available to move from inhaled gas into the blood. The model makes that pressure chain visible: altitude affects PB, PB affects PAO₂, and the entered gas-exchange assumption affects modeled PaO₂.
A person’s actual oxygen saturation cannot be predicted from altitude alone. Ventilation changes PaCO₂, and PaCO₂ strongly affects the alveolar estimate. Acclimatization, exertion, sleep, illness, age, individual ventilatory response, weather, pH, temperature, 2,3-DPG, and gas-exchange efficiency add further variation. That is why the calculator requires the PaCO₂ and A–a assumptions instead of silently inventing them from altitude.
How to Use the Calculator
- Enter the altitude and select meters or feet. Use the elevation for the location being modeled, not cabin altitude or a pressure reading unless it has first been converted appropriately.
- Enter an assumed or measured PaCO₂. Do not substitute an SpO₂ value; carbon-dioxide tension is a different measurement.
- Enter an A–a oxygen difference assumption and its unit. This value is contextual and is not a universal age-independent normal.
- Enter RQ if a specific assumption is intended, or leave it blank to use 0.8. Review the disclosed value in the result.
- Calculate and read the intermediate PB, PAO₂, and modeled PaO₂ values along with saturation. Preserve the assumptions whenever sharing the result.
Worked Example at 2,000 Meters
Suppose altitude is 2,000 m, PaCO₂ is 35 mmHg, the entered A–a difference is 5 mmHg, and RQ is 0.8. The standard-atmosphere equation gives PB of approximately 596 mmHg. The alveolar calculation is 0.2095 × (596 − 47) − 35 ÷ 0.8, or about 71 mmHg. Subtracting the 5 mmHg A–a assumption gives a modeled PaO₂ near 66 mmHg. The Severinghaus relationship then returns a modeled standard-condition saturation of roughly 92%–93%.
This is an illustration of the equations, not a reference range or forecast for a traveler. Changing PaCO₂ from altered ventilation, changing the A–a assumption, exercising, or sleeping can materially change the physiologic situation. The displayed decimal does not make the underlying assumptions precise.
Interpreting Altitude Oxygen Saturation Carefully
The CDC Yellow Book describes broad observed saturation ranges rather than a single personal prediction. Around 3,050 m, acute exposure can lower arterial oxygen saturation to approximately 88%–91%. The same guidance emphasizes that the impact depends on altitude, ascent rate, exposure duration, sleep, and individual susceptibility. Acclimatization begins over the first several days and can continue longer, so a value soon after arrival and one after adaptation are not interchangeable.
A pulse oximeter and this model measure different things. The model converts assumed pressures under standard conditions. A pulse oximeter estimates SpO₂ optically at a particular moment. FDA guidance notes that poor circulation, skin pigmentation, skin thickness or temperature, tobacco use, and fingernail polish can affect readings. Motion, device quality, dyshemoglobins, and measurement technique can also matter. Do not “correct” a measured reading merely because it differs from the model.
Altitude illness is not diagnosed or excluded by a saturation number alone. Symptoms, timing, rate of ascent, examination, and context matter. Worsening breathlessness at rest, chest congestion or distress, confusion, loss of coordination, cyanosis, marked drowsiness, or rapid deterioration require urgent attention and appropriate local emergency or altitude guidance. People with chronic lung disease, preexisting hypoxemia, obstructive sleep apnea, heart disease, or other relevant conditions should seek individualized advice before high-altitude travel.
Limitations of the Model
- The standard-atmosphere equation does not capture day-to-day weather or local pressure variation.
- The alveolar equation assumes room air and requires a PaCO₂ and RQ assumption; supplemental oxygen is outside this calculator’s scope.
- A single A–a difference cannot represent changing ventilation-perfusion matching, diffusion, or shunt across all settings.
- The saturation relationship is fixed to standard pH and temperature and does not model shifts of the oxyhemoglobin dissociation curve.
- The model does not determine acclimatization, altitude-illness risk, fitness to fly, oxygen need, or a safe ascent or descent plan.
Below-sea-level elevations are included only so the same pressure equation can be explored across a modest negative-altitude range. At either end of the allowed range, results remain assumption-dependent. The calculator’s altitude limit is a scope boundary, not evidence that every location inside it is safe or that locations above it are unsafe.
Frequently Asked Questions
Is modeled saturation the same as SpO₂?
No. SpO₂ is a pulse-oximeter estimate. This calculator produces a standard-condition saturation from entered assumptions and equations. The two may differ for physiologic and device-related reasons.
Why must I enter PaCO₂?
Ventilation and acclimatization affect PaCO₂, which appears directly in the alveolar gas equation. Automatically assigning PaCO₂ from altitude would hide one of the model’s most influential assumptions.
Can I solve backward for a safe altitude?
No. A target saturation does not define safe altitude for an individual, so this calculator intentionally has no reverse-altitude mode.
Primary and Current Sources
