Acid Base Interpreter
Enter a blood gas and work through the acid base diagnosis, with the anion gap, expected compensation and mixed disorders each shown as a stated step.
Calculator
Reference 7.35 to 7.45
Reference 35 to 45 mmHg
Reference 22 to 26
For the anion gap
For the anion gap
Corrects the gap. A low albumin hides a raised one.
- Primary disorder Of pCO2 and bicarbonate, whichever is deranged in the direction that produces this pH. A normal pH names none, because a normal pH is also what a fully compensated or a mixed picture looks like.
- metabolic acidosis
- pH Reference 7.35 to 7.45. This names the disturbance, not its cause.
- 7.1 acidaemia
- Anion gap Na minus Cl minus HCO3, corrected for albumin. Reference 8 to 12. Raised means an unmeasured anion has been added.
- 30 mmol/L
- Compensation Whether the response matches the size this disorder alone would produce. Anything else is the evidence of a second disorder, and it is the whole reason to check.
- insufficient
- Delta ratio Rise in gap over fall in bicarbonate, interpretable only in a raised gap acidosis. About 1 for a pure one, below 1 if a normal gap acidosis coexists, above 2 if an alkalosis does.
- 1
- Reading Mixed whenever any step cannot be explained by the primary disorder on its own. That is a stronger statement than the label, and it is what the steps below show.
- mixed disorder
Working through it
pH 7.1, acidaemia, so the pH is below the reference interval
This names the disturbance, not its cause. The next step decides which of the two variables explains it.
Primary metabolic acidosis
Of pCO2 and bicarbonate, this is the one deranged in the direction that produces the observed pH. pCO2 is 20 mmHg and bicarbonate is 6 mmol/L.
Compensation insufficient, expected 15.0 to 19.0 mmHg pCO2, measured 20.0 points to a second disorder
Winters’ formula, 1.5 x HCO3 + 8, plus or minus 2. Compensation outside every predicted band is the evidence that a second disorder is also present, because compensation for one disorder does not overshoot or fall short on its own.
Anion gap 30.0, corrected to 30.0 mmol/L, which is raised
Na minus Cl minus HCO3. A raised gap means an acid has been added whose anion the panel does not measure; a normal gap in an acidosis means bicarbonate was lost or chloride gained.
Delta ratio 1.00
Between about 1 and 2, which is what a raised-gap acidosis on its own produces.
Citing this tool
Last updated . Add the date you accessed it as well, which a citation of a page that can change asks for. If a specific result matters, cite the permalink from the tool’s share row instead of this page: it reproduces the exact parameters.
The equation
Henderson-Hasselbalch, with Albert, Dell and Winters (1967)
Read it in this order, every time
The order is not a stylistic preference. Each step depends on the one before it, and taking them out of order is how a mixed disorder gets read as a simple one.
- pH. Name the disturbance. Below 7.35 is an acidaemia, above 7.45 an alkalaemia. This says nothing about the cause.
- Which value explains it. An acidaemia can only come from a raised
pCO2or a fallen bicarbonate. Whichever is deranged in the direction that lowers pH is the primary problem, and that decides respiratory or metabolic. - Is the compensation the right size? This is the step everyone skips and it is the only one that can reveal a second disorder.
- Anion gap. Only now, and only to narrow a metabolic acidosis.
- Delta ratio, if the gap is raised, to ask whether anything else is going on alongside it.
Why compensation never fully corrects the pH
The signal driving compensation is the pH disturbance itself. If the pH came all the way back to normal the stimulus would be gone and the response would stop, so the body necessarily settles at a partial correction. The one recognised exception is long-standing respiratory alkalosis, as at high altitude or in pregnancy, where renal compensation can bring the pH back into the normal range.
That has a genuinely useful consequence at the bedside. A pH sitting in the middle of the reference interval in the presence of a large primary disturbance is not evidence of unusually good compensation. It is evidence of a second, opposing disorder. Over-correction does not happen.
Winters’ formula, and what it is actually for
Expected pCO2 = 1.5 x HCO3 + 8, plus or minus 2, in mmHg.
It answers one question: is the respiratory response to a metabolic acidosis the size it should
be? A measured pCO2 above the predicted range means the patient is not blowing off
CO2 as they should, so there is a respiratory acidosis on top. Below the range means a
respiratory alkalosis is also present, which is the classic salicylate picture.
It applies to metabolic acidosis and nothing else. Using it on an alkalosis is common and
meaningless. A metabolic alkalosis has its own rule, a rise of about
0.7 mmHg per mmol/L of bicarbonate above 24, and it is less reliable,
because hypoventilation is limited by the need to keep oxygenating.
Acute and chronic are different rules for the same disorder
Renal compensation takes days. So the bicarbonate response to a given
pCO2 differs by about a factor of four depending on how long the disturbance has
been present: roughly 1 mmol/L per 10 mmHg acutely, and about
4 mmol/L per 10 mmHg once it is established.
A blood gas cannot tell you which it is, so this tool shows both bands and lets you decide from
the history. That matters most for the chronic carbon dioxide retainer: a
pCO2 of 60 with a bicarbonate of 32 is appropriate chronic compensation, and
judging it against the acute rule would call it a metabolic alkalosis that does not exist.
The anion gap, and the albumin correction that gets forgotten
Anion gap = Na − Cl − HCO3. It is not a real gap: charge balances exactly. What it
measures is the anions the panel does not report, and a raised gap means an acid has been added
whose anion is one of them, such as lactate or a ketoacid. A normal gap in an acidosis means
bicarbonate was lost or chloride gained instead, as in diarrhoea or a renal tubular acidosis.
Albumin is the largest single contributor to the normal gap, because it carries net negative
charge at physiological pH. So in hypoalbuminaemia the baseline gap is lower, and a genuine
raised-gap acidosis can present with a gap that looks normal. The correction adds about
2.5 mmol/L for every 1 g/dL that albumin sits below 4.
This is not a fine point. A critically ill patient with an albumin of 2 and a lactic acidosis can show an uncorrected gap of 11, which is inside the reference interval. Correct it and it is 16, which changes the differential entirely. Enter those numbers in the tool and watch the reading change.
The delta ratio
(corrected gap − 12) / (24 − HCO3), and it is only interpretable in a raised-gap
acidosis.
In a pure raised-gap acidosis each bicarbonate consumed is replaced by one unmeasured anion, so the ratio is about 1. Well below 1 means bicarbonate fell further than the gap rose, which needs a second, normal-gap acidosis to explain. Above about 2 means the gap rose further than bicarbonate fell, which needs a coexisting metabolic alkalosis, or a chronic respiratory acidosis holding the bicarbonate up.
Its denominator vanishes as bicarbonate approaches normal, so the ratio explodes and stops meaning anything. The tool reports it as not applicable in that case rather than printing a large number, which is the honest answer.
Check the gas is internally consistent first
pH, pCO2 and bicarbonate are not independent: Henderson-Hasselbalch fixes any one
from the other two. So a set that cannot coexist is worth catching before any interpretation is
attempted, because interpreting it produces confident nonsense.
The tool recomputes the pH from the other two and flags a disagreement above 0.05. In practice that means a transcription error or a sample problem, such as a venous sample labelled arterial or a delay before analysis.
The same equation explains why a chronic retainer can have a nearly normal pH with a
pCO2 of 60. pH depends on the RATIO of bicarbonate to dissolved CO2, not on either
alone. Double both and the pH does not move.
What this tool leaves out
It sees six numbers. It knows nothing about the patient, the history, the drug chart, the lactate, the glucose, the ketones, or the osmolar gap. A raised anion gap narrows a differential and does not choose from it, and no arrangement of these six values can distinguish a ketoacidosis from a lactic acidosis from a toxic alcohol.
It also uses the bicarbonate and anion gap approach rather than the Stewart physicochemical approach, which reaches the same answers for most clinical purposes by a different and arguably more fundamental route. And the reference intervals here are typical teaching values, not any particular laboratory’s, which is why a real report should be read against the intervals printed on it.
Common mistakes
- Skipping the compensation step. It is the only step that can find a second disorder. Naming the primary disturbance and stopping there gets the simple cases right and misses every mixed one.
- Using Winters’ formula on an alkalosis. It is derived for metabolic acidosis alone.
- Judging a chronic retainer by the acute rule. It invents a metabolic alkalosis out of entirely appropriate renal compensation.
- Forgetting the albumin correction. A low albumin hides a raised gap, and the patients with low albumin are exactly the ones likely to have a lactic acidosis.
- Reading a normal pH as normal acid base status. It is also what full compensation and two opposing disorders look like.
- Mixing up mmHg and kPa. A factor of 7.5. Every rule here is written for mmHg, which is why the unit is a visible choice in the tool.
- Expecting compensation to overshoot. It cannot, because the disturbance is what drives it. Apparent overshoot is a second disorder.
Common questions
What order should I read a blood gas in?
Look at the pH first and name the disturbance as an acidaemia or an alkalaemia, or note that it is within range. Then decide whether the carbon dioxide or the bicarbonate explains it, which tells you whether the primary problem is respiratory or metabolic. Then check whether the compensation present is the amount expected, because compensation that falls short or overshoots means a second disorder is also running. Only then calculate the anion gap to narrow a metabolic acidosis. Doing it in this order is what stops a mixed disorder being read as a simple one.
Why does compensation never fully correct the pH?
Because the signal that drives compensation is the pH disturbance itself. If the pH returned exactly to normal the stimulus would be gone, so the response would stop, which means the body settles at a partial correction. The one recognised exception is long-standing respiratory alkalosis, as at high altitude or in pregnancy, where renal compensation can bring the pH back into the normal range. This is genuinely useful at the bedside: a pH that has returned all the way to the middle of the range in the presence of a large primary disturbance is evidence of a second, opposing disorder rather than of unusually effective compensation.
What is Winters’ formula for?
It predicts how far the carbon dioxide should fall in response to a metabolic acidosis: expected pCO2 is 1.5 times the bicarbonate plus 8, plus or minus 2, in mmHg. It answers a specific question, which is whether the respiratory response is appropriate. A measured pCO2 above the predicted range means there is a respiratory acidosis on top, and one below means a respiratory alkalosis is also present. It is a check on compensation, not a diagnosis, and it applies only to metabolic acidosis.
Why does the anion gap need correcting for albumin?
Because albumin is itself the largest contributor to the normal anion gap, carrying a net negative charge at physiological pH. In hypoalbuminaemia the baseline gap is therefore lower, so a genuine raised-gap acidosis can present with a gap that looks normal. The usual correction adds about 2.5 mmol/L to the gap for every 1 g/dL that albumin falls below 4 g/dL. Missing this in a critically ill patient with a low albumin is one of the more common ways a lactic acidosis is overlooked.
Why do reference ranges here not match my hospital’s?
Because reference intervals depend on the analyser, the method and the population a laboratory derived them from, so they legitimately differ between institutions. The ranges used here are typical teaching values, chosen so the reasoning is easy to follow. When you interpret a real report, use the intervals printed on that report. The sequence of reasoning does not change, only the numbers you compare against.