Calculator Friendly logoCalculator Friendly

Arterial Blood Gas (ABG) Calculator

Enter pH, PaCO₂ and HCO₃⁻ to identify the primary acid-base disorder, check the expected respiratory or metabolic compensation, and (optionally) compute the anion gap and delta-delta from sodium, chloride and albumin. Designed as a quick reference for clinicians and students — always interpret in clinical context.

Portrait of Daniel Whitman, calculator creator

Created by

Daniel Whitman

Reviewed by

Portrait of Hannah Brooks, calculator reviewerHannah Brooks

ABG calculator

Normal 7.36–7.44

mm Hg · 36–44

mEq/L · 22–26

Optional — for anion gap
Interpretation
mild
Metabolic acidosis (partially compensated)
  • pH 7.32 — acidemia
  • PaCO₂ 28.0 mm Hg — low
  • HCO₃⁻ 14.0 mEq/L — low
  • Anion gap 26.0 mEq/L — elevated (suggests added acid)
  • Delta-delta ratio 1.40 — pure high anion-gap metabolic acidosis
  • Expected PaCO₂ for compensation: 27.0–31.0 mm Hg (measured 28.0)

Educational tool only. Always interpret arterial blood gases in the full clinical context — history, exam, oxygenation, electrolytes, lactate and trend over time. Not a substitute for clinical judgment.

Was this calculator helpful?

Was this helpful?

Votes are stored on your device. Help others find this tool — share, embed, or cite it.

How to read an arterial blood gas, with or without a calculator

Arterial blood gas syringe with bright red blood at an ICU bedside, used for ABG interpretation
pH, PaCO₂ and HCO₃⁻ — three numbers that only mean something together.

Where ABGs stop being scary

For me it happened on a step-down unit, third overnight in a row, somewhere around 4am. I'd been staring at gases all night and finally something flipped. I stopped reading the values one by one and started seeing them as a small story about the patient. The numbers on their own don't actually tell you anything. The relationship between them does.

An ABG measures three things that matter for acid-base: pH, PaCO₂, and bicarbonate. It throws in a few oxygenation numbers too — PaO₂, SaO₂, base excess — but those answer a different question. Whether you punch the values into a calculator or work them out by hand, the job is the same. Identify the disorder. Decide if the body has compensated. Decide if the compensation makes sense. The math is the easy part.

This is for the people who actually have to read these. Nursing students. Med students. Junior residents. If you're a patient holding a printed lab report, a calculator can give you a label, but the label without a real conversation with your doctor isn't going to mean very much. Numbers always have to be read against the person in the bed.

The numbers and what they actually mean

Clinician performing a radial artery puncture to draw an arterial blood gas sample
Radial artery, small heparinized syringe — the source of every ABG you'll ever read.

Normal adult ABG values, with the units that textbooks somehow keep forgetting to print:

pH 7.35 to 7.45. PaCO₂ 35 to 45 mmHg. HCO₃⁻ 22 to 26 mEq/L. PaO₂ 80 to 100 mmHg on room air. Base excess −2 to +2 mEq/L. SaO₂ 95% or above on room air.

The first three are the acid-base story. PaO₂ and SaO₂ tell you whether the lungs are actually moving oxygen, which is a separate problem from the acid-base picture and gets confused constantly.

A pH under 7.35 is acidemia. Over 7.45 is alkalemia. The body works hard to stay in that narrow window because most of your enzymes only function near 7.4, and a pH outside roughly 6.8 to 7.8 is genuinely incompatible with life.

PaCO₂ is the lung's contribution. Think of it as an acid — CO₂ plus water makes carbonic acid, so more CO₂ means a more acidic blood. Your lungs control this minute to minute by adjusting how fast and how deep you breathe.

HCO₃⁻ is the kidney's contribution. It's a base. The kidneys move it slowly, over hours to days, by deciding how much to keep and how much to dump. More bicarbonate means more base in the system. Less means less.

How those three values move relative to each other is the entire game.

The four-step read I still use

There's a systematic approach almost everyone learns and almost everyone keeps using, even after years. It works on simple gases and on the messy mixed disorders that show up in the ICU at three in the morning.

Step one. Look at the pH. Acidemic, alkalemic, or normal.

Step two. Look at PaCO₂ and HCO₃⁻ and decide which one is driving the pH.

Low pH with high PaCO₂ is respiratory acidosis. The lungs aren't moving enough CO₂. Low pH with low HCO₃⁻ is metabolic acidosis — too much acid, too little base, or the kidneys can't excrete acid properly. High pH with low PaCO₂ is respiratory alkalosis, usually from hyperventilating. High pH with high HCO₃⁻ is metabolic alkalosis, classically from vomiting, diuretics, or someone overdoing the bicarb.

Step three. Check whether the body has started compensating. The system that isn't causing the problem will try to bend the pH back toward 7.4. Kidneys hold onto bicarb when CO₂ runs high. Lungs blow off CO₂ when bicarb runs low. Compensation never fully fixes the pH on its own — that takes treating the cause — but it pulls things in the right direction.

Step four. Decide if the compensation makes sense. This is the step the bedside mnemonics gloss over, and it's where actual interpretation lives.

Expected compensation, the part most students skip

Medical student studying acid-base physiology and ABG compensation formulas at a desk
Memorise the compensation formulas once and the rest of ABG reading gets a lot easier.

These are worth memorising. They're the difference between someone who can label the disorder and someone who can actually interpret the gas.

For metabolic acidosis, expected PaCO₂ ≈ 1.5 × HCO₃⁻ + 8, plus or minus 2. That's Winters' formula. Measured PaCO₂ above the expected range means there's a respiratory acidosis layered on top. Below the range means a respiratory alkalosis is also in play.

For metabolic alkalosis, expected PaCO₂ ≈ HCO₃⁻ + 15. Same logic — higher than expected means concurrent respiratory acidosis, lower means concurrent respiratory alkalosis.

For acute respiratory acidosis, HCO₃⁻ rises about 1 mEq/L per 10 mmHg of CO₂ above 40. For chronic, it's closer to 3 to 4 per 10. For acute respiratory alkalosis, HCO₃⁻ falls about 2 per 10 below 40. For chronic, around 4 to 5 per 10.

A decent ABG calculator runs all of these in the background and tells you whether what you're seeing fits a single disorder or hints at a mixed one. If your calculator just labels the disorder and stops, it's missing the most clinically useful step.

ROME, tic-tac-toe, and what works at the bedside

ROME — Respiratory Opposite, Metabolic Equal — is usually the first mnemonic students pick up. If pH and PaCO₂ move in opposite directions, the primary disorder is respiratory. If they move together, it's metabolic. Quick, useful for a gut check. Doesn't tell you anything about compensation or whether you're looking at one disorder or three.

The tic-tac-toe method (you'll also hear it called the Stewart approach in some textbooks) is more thorough. You sketch a small grid, mark each value as acid, normal, or base, and read off the disorder from where things land. Most experienced clinicians I've watched stop drawing the grid pretty quickly because they've seen the patterns enough times. For a student, the visual scaffolding genuinely helps.

The four-step approach above is what gets used in practice. It's slower than ROME but it doesn't fail on the messy cases.

The anion gap and why it catches things you'd miss

The anion gap is the calculation that catches metabolic acidoses you wouldn't otherwise see. It's the difference between the cations and anions you can measure on a basic panel, and it exists because there are unmeasured anions floating around — proteins, phosphates, sulfates — that don't show up on the standard chemistry.

Standard formula: AG = Na⁺ − (Cl⁻ + HCO₃⁻). Normal is 8 to 12 mEq/L on most labs (some use 3 to 11 if they include potassium).

A high-anion-gap metabolic acidosis (HAGMA) means there's an extra acid in the blood that the panel doesn't measure directly. The acid eats bicarbonate and gets replaced by an unmeasured anion, so the gap opens up. The classic mnemonic is MUDPILES: Methanol, Uremia, DKA, Propylene glycol, Iron or Isoniazid, Lactic acidosis, Ethylene glycol, Salicylates.

A normal-anion-gap metabolic acidosis (NAGMA) means bicarb has been lost and replaced by chloride one for one, leaving the gap unchanged. Usually diarrhea, renal tubular acidosis, or a pancreatic fistula.

The distinction matters because the treatments are completely different. HAGMA from DKA needs insulin and fluids. NAGMA from severe diarrhea needs volume and bicarbonate replacement. Same low bicarb on the gas, very different plan.

Base excess, plainly

Base excess is how much acid or base you'd need to add to a litre of blood to bring it back to a normal pH at a normal CO₂. Positive means there's more bicarbonate than expected. Negative means there's less.

It's a fast metabolic summary. If pH is off but base excess is normal, the disorder is purely respiratory. Significantly negative base excess points to a metabolic acidosis component. Significantly positive points to a metabolic alkalosis component. Trauma and surgical teams lean on it because it gives a quick read of whether the metabolic side is contributing without having to think about it.

One thing — the line you sometimes see in patient-facing articles, that negative base excess means the body has "burned through" its bicarbonate fighting an attack, isn't really how it works. Bicarbonate doesn't get used up in a struggle. It drops because something is producing acid that titrates it, or the gut or kidneys are losing it, or the kidneys aren't making enough new bicarb. The number tells you the size of the problem. The patient tells you the cause.

Oxygenation is a separate question

Elderly COPD patient resting in a hospital bed wearing a nasal cannula for supplemental oxygen
A chronic COPD patient can have a fine PaO₂ on a couple of litres while their CO₂ is genuinely high.

ABGs measure two different things that get mashed together: gas exchange and acid-base. PaO₂ and SaO₂ are about gas exchange. pH, PaCO₂, and HCO₃⁻ are about acid-base.

A patient can have a perfectly normal acid-base picture and dreadful oxygenation, or vice versa. A long-standing COPD patient with a respiratory acidosis might still hold a reasonable PaO₂ because they've been compensating for years. Someone with severe pneumonia might have a critically low PaO₂ and a near-normal pH because they're hyperventilating to make up for it.

For oxygenation, the numbers I keep at the front of my head: PaO₂ under 60 mmHg is hypoxemia. Under 40 is severe.

The A-a gradient (alveolar-arterial gradient) tells you whether the issue is in the lungs themselves or whether it's a ventilation problem. Normal is 5 to 15 in young adults and creeps up with age. A wide A-a gradient with a low PaO₂ means there's a lung problem — pneumonia, ARDS, PE, V/Q mismatch. A normal gradient with a low PaO₂ usually means the patient isn't breathing enough or isn't getting enough inspired oxygen.

Most calculators handle the A-a gradient automatically when you enter FiO₂. The full formula is A-a = (FiO₂ × (atmospheric pressure − water vapour pressure)) − (PaCO₂ / 0.8) − PaO₂. At sea level on room air it simplifies to roughly 150 − (PaCO₂ / 0.8) − PaO₂.

Arterial vs venous — when a VBG is enough

Side by side comparison of dark venous blood and brighter arterial blood for VBG vs ABG sampling
Darker venous blood on the left, brighter arterial blood on the right — the two answer different questions.

ABGs come from an artery, usually the radial. Venous gases come from a vein and look similar but not identical.

Venous pH runs about 0.03 to 0.04 lower than arterial. Venous PaCO₂ runs 4 to 8 mmHg higher. Venous bicarbonate is essentially the same as arterial. Venous PaO₂ is much lower (35 to 45 mmHg) and shouldn't be used to assess oxygenation.

That means if you've got a VBG and you only need acid-base information, you can mentally correct — add about 0.03 to the pH, subtract about 6 from the CO₂, leave the bicarb alone. The oxygen number from a VBG is not interpretable as an arterial value, full stop.

Arterial sticks hurt more and carry more risk — hematomas, occasionally arterial spasm or thrombosis. For a stable patient where you only need acid-base, a VBG is reasonable. For respiratory failure, ARDS, or anyone where the oxygenation actually matters, it has to be arterial.

What the calculator can and can't do

Respiratory therapist beside an arterial blood gas analyzer machine and ventilator in an ICU room
The analyzer gives you numbers. The interpretation still belongs to the person at the bedside.

A good ABG calculator takes pH, PaCO₂, and HCO₃⁻, plus optionally Na⁺, Cl⁻, FiO₂, and a few other inputs, and tells you the primary acid-base disorder, whether compensation is present and appropriate, the anion gap if you provided electrolytes, the A-a gradient if you provided FiO₂, and whether there's a mixed disorder.

What it can't do is tell you what's wrong with the patient. A respiratory acidosis with appropriate compensation could be chronic COPD, an opioid overdose, a neuromuscular disease, or a dozen other things. The calculator gives you the label. The history, exam, other labs, and clinical context are what tell you what to actually do about it.

A worked example from a real shift

Patient: 64 with known COPD, three days of worsening shortness of breath. ABG: pH 7.31, PaCO₂ 65, HCO₃⁻ 32, PaO₂ 58 on 2 L nasal cannula.

Step one. pH 7.31 — acidemic.

Step two. PaCO₂ is high at 65, HCO₃⁻ is high at 32. Acidemia with a high CO₂ means the primary problem is respiratory acidosis. The high bicarbonate isn't a primary metabolic alkalosis — it's the kidney pulling its weight in compensation.

Step three. Acute or chronic? CO₂ is 25 above 40. If this were acute, you'd expect HCO₃⁻ to rise about 1 per 10, so roughly 26 or 27. If chronic, more like 3 to 4 per 10, so roughly 31 to 34. Measured 32 fits the chronic pattern, which lines up with a known COPD patient who has probably been at this baseline for a while.

Step four. PaO₂ of 58 on supplemental oxygen is hypoxemia. On 2 L nasal cannula (call it ~28% FiO₂), the A-a gradient is going to be wide, which fits the underlying lung disease.

Read: chronic respiratory acidosis with appropriate metabolic compensation, plus hypoxemia. Treatment is going to be about whatever's driving the acute worsening — bronchodilators, possibly antibiotics, possibly steroids, possibly noninvasive ventilation if the CO₂ keeps climbing. The calculator gets you to the label. Everything past that is clinical reasoning.

The mistakes I keep watching people make

Calling something a mixed disorder when it's just compensation. A respiratory acidosis with a raised bicarb is a respiratory acidosis with normal compensation. The mixed disorder is when the compensation doesn't match what's expected.

Forgetting to calculate the anion gap on every metabolic acidosis. HAGMA and NAGMA have different causes and different treatments. Skipping the gap is guessing.

Treating a low pH without working out why it's low. Bicarbonate boluses are sometimes appropriate for severe acidemia, but they're a holding action. The actual treatment is whatever's making the patient acidotic in the first place.

Treating the gas instead of the patient. If the numbers look ugly but the person in the bed is calm, talking, and at their long-standing baseline, you usually don't need to do anything urgent. Stable chronic abnormalities aren't the same problem as acute decompensation.

Drawing an ABG when a VBG would have answered the question. Arterial sticks hurt. Don't reach for one out of habit.

A short routine when the gas comes back

Look at it in this order, every time.

pH. Where does the patient sit on the 7.35 to 7.45 range.

PaCO₂. Is this driving the pH or trying to compensate.

HCO₃⁻. Same question for the metabolic side.

Anion gap. Calculate it on every metabolic acidosis.

PaO₂ and SaO₂. Is the patient oxygenating, given the FiO₂ they're on.

Compensation check. Does what you see line up with a single primary disorder. If not, look for a mixed one.

Clinical correlation. What was this gas supposed to answer. Does the result fit the person in front of you. If not, repeat it before you act on it.

That's the whole routine. The calculator handles the arithmetic. You handle everything else.

How this ABG calculator interprets results

The calculator follows the standard four-step ABG approach: (1) classify the pH as acidemia, alkalemia or normal; (2) decide whether PaCO₂ or HCO₃⁻ is moving in the same direction as the pH (that's the primary disorder); (3) calculate the expected compensation and compare it to what's measured; (4) if Na⁺ and Cl⁻ are provided, compute the anion gap and the delta-delta ratio to detect mixed metabolic disorders.

Compensation rules are the standard ones: Winter's formula for metabolic acidosis (PaCO₂ = 1.5 × HCO₃⁻ + 8 ± 2), 0.7 × HCO₃⁻ + 21 ± 2 for metabolic alkalosis, and the per-10-mm-Hg HCO₃⁻ shifts for acute and chronic respiratory disorders. When the measured value falls outside the expected band, the result is flagged as a likely mixed disorder.

The anion gap uses AG = Na⁺ − (Cl⁻ + HCO₃⁻) with optional albumin correction (AG + 2.5 × (4 − albumin)). For high-AG metabolic acidosis, the delta-delta ratio (ΔAG / ΔHCO₃⁻) helps reveal a coexisting normal-AG metabolic acidosis (< 1) or metabolic alkalosis (> 2).

Educational use only. ABG interpretation must integrate clinical history, exam findings, oxygenation, electrolytes, lactate and the trajectory of values. Do not use this calculator as the sole basis for treatment decisions.

ABG reference tables

Quick-glance reference for normal ranges, the four primary disorders, expected compensation formulas, and the classic mnemonics for metabolic acidosis causes.

Normal ABG values (adult)

Reference
ParameterNormal rangeCritical
pH7.36 – 7.44< 7.20 or > 7.60
PaCO₂36 – 44 mm Hg< 20 or > 60
HCO₃⁻22 – 26 mEq/L< 15 or > 35
Base excess−2 to +2 mEq/L< −10 or > +10
PaO₂80 – 100 mm Hg (room air)< 60
SaO₂95 – 100 %< 90
Anion gap8 – 12 mEq/L> 20

Primary disorder cheat-sheet

Pattern
DisorderpHPaCO₂HCO₃⁻Common causes
Respiratory acidosis↑ (compensation)COPD, opioids, sedation, neuromuscular failure
Respiratory alkalosis↓ (compensation)Anxiety, pain, sepsis, PE, high altitude
Metabolic acidosis↓ (compensation)DKA, lactic acidosis, renal failure, diarrhea
Metabolic alkalosis↑ (compensation)Vomiting, NG suction, diuretics, hyperaldosteronism

Expected compensation formulas

Compensation
DisorderFormulaNotes
Metabolic acidosisPaCO₂ = 1.5 × HCO₃⁻ + 8 (± 2)Winter's formula
Metabolic alkalosisPaCO₂ = 0.7 × HCO₃⁻ + 21 (± 2)Or +0.7 per mEq HCO₃⁻ > 24
Acute resp. acidosisΔHCO₃⁻ = +1 per 10 mm Hg PaCO₂ > 40Minutes – hours
Chronic resp. acidosisΔHCO₃⁻ = +3.5 per 10 mm Hg PaCO₂ > 40≥ 3 days
Acute resp. alkalosisΔHCO₃⁻ = −2 per 10 mm Hg PaCO₂ < 40Minutes – hours
Chronic resp. alkalosisΔHCO₃⁻ = −5 per 10 mm Hg PaCO₂ < 40≥ 3 days

Metabolic acidosis causes

Mnemonic
High AG — MUDPILES
  • MMethanol
  • UUremia
  • DDKA / alcoholic ketoacidosis
  • PPropylene glycol / paraldehyde
  • IIron, INH, Isoniazid
  • LLactic acidosis
  • EEthylene glycol
  • SSalicylates
Normal AG — HARDUP
  • HHyperalimentation
  • AAcetazolamide
  • RRenal tubular acidosis
  • DDiarrhea
  • UUreteroenteric fistula
  • PPancreatic fistula

Frequently asked questions

What does an ABG calculator interpret?
It takes pH, PaCO₂ and HCO₃⁻ and identifies the primary disorder (respiratory/metabolic, acidosis/alkalosis), checks compensation, and flags mixed disorders. With Na⁺ and Cl⁻ it also computes the anion gap.
What are the normal ABG reference ranges?
pH 7.36–7.44 · PaCO₂ 36–44 mm Hg · HCO₃⁻ 22–26 mEq/L · base excess −2 to +2 · PaO₂ 80–100 mm Hg · SaO₂ 95–100%.
How is expected respiratory compensation calculated?
Metabolic acidosis: PaCO₂ = 1.5 × HCO₃⁻ + 8 (± 2) (Winter's formula). Metabolic alkalosis: PaCO₂ = 0.7 × HCO₃⁻ + 21 (± 2). If measured PaCO₂ falls outside the expected band, suspect a mixed disorder.
How is metabolic compensation calculated for respiratory disorders?
Per 10 mm Hg change in PaCO₂ from 40: acute respiratory acidosis ΔHCO₃⁻ ≈ +1, chronic ≈ +3.5; acute respiratory alkalosis ΔHCO₃⁻ ≈ −2, chronic ≈ −5.
What is the anion gap and why does it matter?
AG = Na⁺ − (Cl⁻ + HCO₃⁻). Normal 8–12 mEq/L. High AG = added acids (lactate, ketones, toxins — MUDPILES). Normal AG = bicarbonate loss or hyperchloremia.
Is this ABG calculator a substitute for clinical judgment?
No. This is an educational aid. Always interpret ABGs in the clinical context — history, exam, electrolytes, lactate, oxygenation. Have feedback? Contact the team.

Comments

Comments are stored locally in your browser. Be kind and stay on topic.

0/600