TheCVICU.com Logo
TheCVICU.com

A free online resource for cardiovascular and critical care education

Lactate and the Anion Gap: Why the Two Numbers Disagree

Lactate is a fuel, not a waste product, and the anion gap is an arithmetic residual rather than a measurement. Once you accept both statements, the situations where a high lactate comes with a normal gap, or a wide gap comes with a normal lactate, stop being paradoxes and start being diagnoses.

Introduction to Cardiovascular Critical Care
#lactate#acid-base#anion gap#Critical Care#metabolism#shock#toxicology

Educational content. This page is a synthesis of published physiology and evidence for clinician education. It is not medical advice and not a protocol. Nothing here is patient-specific: decisions about resuscitation, diagnosis, and drug therapy require a qualified clinician with access to the full clinical context and the individual patient's trajectory.

Two numbers that are supposed to agree

A lactate of 6 mmol/L should widen the anion gap by roughly 6 mEq/L. That expectation is built into how most of us read a metabolic panel: the gap is the accounting entry, lactate is one of the line items, and if the line item is large the entry should be large too. In the CICU the two numbers disagree constantly, and the disagreement is usually treated as noise, a lab error, or a reason to order a repeat.

It is none of those things. Every dissociation between lactate and the anion gap has a specific mechanism, and in most cases the mechanism is the diagnosis. A patient with a lactate of 6.4 and a raw gap of 13 is not a measurement failure; they are a patient with an albumin of 1.8. A patient with a gap of 23 and a lactate of 1.1 is not a mystery; they are a patient whose anion is D-lactate, which the analyser cannot see.

Reading the two numbers together requires abandoning two pieces of received wisdom first. Lactate is not a waste product of anaerobic metabolism, and the anion gap is not a measurement.

Lactate is a fuel, and it is produced continuously

The idea that lactate is what cells make when they run out of oxygen has been obsolete for two decades, and the physiology that replaced it is the reason the clinical dissociations exist at all.

Lactate is produced continuously in fully oxygenated tissue. Glycolysis terminates in pyruvate; lactate dehydrogenase sits at near-equilibrium and converts most of that pyruvate to lactate regardless of oxygen tension, because the equilibrium constant heavily favours lactate and because the reaction regenerates the cytosolic NAD+ that glycolysis needs to keep running. Resting humans turn over lactate continuously, and that flux rises with exercise, catecholamines, and inflammation. Brooks's lactate shuttle framework describes the traffic: lactate produced in fast skeletal muscle fibres, red cells, gut, skin, and leukocytes moves through the circulation to the liver, kidney cortex, heart, and neurons, where it is oxidised or used for gluconeogenesis [1, 2, 3]. The heart in particular prefers lactate as a fuel under stress [4], which is worth remembering when you are looking at a lactate of 4 in a patient on epinephrine after cardiac surgery.

The second correction concerns the acid. Lactate production does not generate protons. It consumes one. Lactate dehydrogenase takes pyruvate plus NADH plus a proton and yields lactate plus NAD+, so the reaction that makes the lactate is the reaction that removes an acid. The proton load in lactic acidosis comes from somewhere else entirely: ATP hydrolysis that mitochondria failed to reclaim [5, 6].

This is not pedantry, and it is the single most useful fact in this article. It means lactate and acidosis are dissociable in principle, which is why they are dissociable at the bedside. If ATP turnover stays mitochondrial, a rising lactate carries essentially no acid with it. That is the whole explanation for the post-cardiotomy patient on epinephrine with a lactate of 4.8, a pH of 7.43, and a normal gap: beta-2 stimulation drives sarcolemmal Na+/K+-ATPase and skeletal muscle glycogenolysis, accelerating glycolysis while oxidative phosphorylation remains intact [7, 8]. The lactate is real, the hypoperfusion is not, and the fluid bolus it usually triggers treats a number rather than a patient.

The L/P ratio separates dysoxia from everything else

If lactate alone cannot distinguish oxygen-limited from oxygen-independent production, something has to. The lactate-to-pyruvate ratio does, because it reports cytosolic redox state rather than glycolytic flux.

In true dysoxia the respiratory chain cannot reoxidise NADH, cytosolic NADH/NAD+ rises, and lactate dehydrogenase is pushed toward lactate. Lactate rises much faster than pyruvate, and the ratio climbs from a normal value near 10 to above 20 or 25. In adrenergic aerobic glycolysis the redox state is untouched: pyruvate and lactate rise together and the ratio stays near normal. In a pyruvate dehydrogenase block, classically thiamine deficiency, pyruvate cannot enter the TCA cycle, so pyruvate and lactate both accumulate and the ratio again stays near normal [9]. In impaired clearance the production side is normal and only disposal has failed, so the ratio is normal as well.

Four mechanisms, one number that separates the first from the other three. The L/P ratio is not routinely available in most hospitals, which is a real limitation, but the reasoning it encodes is available for free: ask whether the situation in front of you plausibly limits oxygen delivery, and if it does not, stop treating the lactate as though it does. The interactive module below lets you drive oxygen delivery, beta-2 tone, pyruvate dehydrogenase activity, respiratory chain capacity, and clearance independently, and watch which combinations of lactate, pyruvate, and L/P ratio each one produces.

Loading Lactate: production, shuttling, and the anion gap...

What the anion gap actually measures

The second half of the problem is that the anion gap is not a measurement of anything. It is an arithmetic residual that exists only because plasma must be electroneutral:

AG = Na+ − (Cl− + HCO3−) = (unmeasured anions) − (unmeasured cations)

A widened gap tells you that the difference between the anions you did not measure and the cations you did not measure has grown. Almost always that means an unmeasured anion accumulated, but a fall in unmeasured cations produces the identical number. Normally the gap is occupied by albumin, which accounts for about three quarters of it at roughly 2.5 mEq/L per g/dL, then phosphate, sulfate, and a small background of organic anions, offset by calcium, magnesium, and potassium.

Two consequences follow, and both are load-bearing.

Protons are invisible to it. At pH 7.4 the free hydrogen ion concentration is 40 nanomol/L, which is 0.00004 mEq/L. Even at pH 6.9 it is 0.000126 mEq/L. On a balance sheet where sodium is 140 mEq/L, that is a ratio of about 3.5 million to one. Free protons round to zero and can never appear in a charge-balance calculation. The only trace a proton leaves on a metabolic panel is the bicarbonate it destroyed. The gap sees anions; the bicarbonate sees acid. They are answering different questions.

The reference value floats. The gap's normal range has drifted downward over decades as ion-selective electrodes replaced flame photometry, so the textbook figure of 12 is analyser-dependent and a value of 8 to 10 is normal in many laboratories [10]. A patient whose baseline gap is 8 can gain 5 mEq/L of organic anion and still read inside the reference range.

The cleanest demonstration is the two-beaker experiment on the module's gap tab. Start from Na 140, Cl 104, HCO3 24, gap 12, and add the same amount of lactate twice: once as the free acid, with a proton travelling alongside it, and once as the sodium salt, with no proton. The gap moves identically in both cases. The bicarbonate and the pH move only in the acid case. The gap cannot tell an acid from a salt, which is exactly why lactated Ringer, sodium lactate, and lactate-buffered dialysate can raise a lactate without touching the pH.

Is "lactic acidosis" a fair term

In the beaker, yes, literally: something added protons and lactate together. In a patient, no. No cell secretes lactic acid, and the enzyme that makes lactate consumes a proton.

The reason the shortcut survives is that it reproduces the correct net stoichiometry. In a cell meeting its ATP demand non-mitochondrially, roughly one proton accumulates per lactate exported, because the glycolysis that made the lactate is the same glycolysis whose ATP was hydrolysed. The ledger comes out as though lactic acid had been added, even though the chemistry is different.

Where it becomes actively wrong is causality. The term tempts you to think that lactate produced the acidosis, therefore that lowering lactate treats the acidosis, therefore that lactate is a resuscitation target rather than a marker. A workable position is to keep lactic acidosis as a clinical noun for the state, meaning acidaemia with a high gap and lactate as the accumulating anion, and to drop it as a causal claim.

Albumin, and the correction nobody does

The dominant confounder in the gap is albumin. It carries most of the normal unmeasured anion charge, roughly 2.5 mEq/L for every g/dL at physiological pH, so ICU hypoalbuminaemia of 2 g/dL erases about 5 mEq/L of baseline gap. That is enough to conceal a moderate organic acidosis entirely. The correction is arithmetic and takes seconds:

Corrected AG = measured AG + 2.5 × (4.0 − albumin in g/dL)

The septic patient with a lactate of 6.4, an albumin of 1.8, and a raw gap of 13 has a corrected gap near 18.5, which now matches the lactate. The acidosis was never hidden physiologically. It was hidden arithmetically, and only because nobody did the correction.

The honest caveat is that even the corrected gap performs poorly as a screening test for clinically significant hyperlactataemia. In critically ill patients, anion gap, albumin-corrected anion gap, and base deficit all fail to identify a raised lactate with acceptable sensitivity [11]. The gap is a tool for asking which anions are present, not a substitute for measuring the one you can measure directly.

Fluid arithmetic: lactated Ringer does not add sodium, it dilutes it

The beaker experiment cheats in one respect, and correcting the cheat produces a result worth knowing. It adds sodium lactate to a fixed volume, so sodium rises. Real lactated Ringer does the opposite. Its sodium of 130 is lower than plasma, its chloride of 109 is higher than plasma, and it contains no bicarbonate at all. Infusing it lowers sodium, raises chloride, and dilutes bicarbonate. The first two shrink the gap; the third widens it; they very nearly cancel.

Mix several litres into a 14 L extracellular space with no hepatic metabolism, as the module's fluid tab does, and three things fall out:

The gap moves far less than the lactate. The fall in sodium and the rise in chloride together cancel most of the gap the lactate anion would otherwise create. You can raise the lactate by several mmol/L and barely move the measured gap.

The bicarbonate falls anyway, but by dilution. You diluted a bicarbonate space with a bicarbonate-free fluid. No proton titrated anything. The resulting delta ratio sits well below 1 and reads like a hyperchloraemic acidosis, which in a sense it is.

With an intact liver, none of this happens. Those millimoles of lactate are metabolised within minutes, and metabolising lactate consumes a proton, so lactated Ringer ends up mildly alkalinising. The arithmetic above is the hepatic failure case, where the lactate persists as a strong anion. It is also why the lactate you measure after a large lactated Ringer resuscitation in a cirrhotic tells you about the liver, not about perfusion.

Stack that on hypoalbuminaemia and the picture becomes completely bland. In the acute-on-chronic liver failure scenario, an albumin of 2.4 removes about 4 mEq/L of baseline gap on its own; add the dilutional arithmetic and a lactate of 4.4 sits behind a raw gap of 10, a normal pH, and a normal bicarbonate. Two independent mechanisms, both entirely mundane, and neither has anything to do with tissue perfusion.

High lactate, normal gap

Work the offsets in order. A high lactate with a gap that has not moved has a short differential:

Hypoalbuminaemia. The most common cause by a wide margin, and the first thing to exclude. Correct the gap before concluding anything.

A superimposed hyperchloraemic process. Large-volume saline, renal tubular acidosis, or diarrhoea lowers the strong ion difference and consumes bicarbonate without adding any unmeasured anion. Chloride moves in to replace the missing anion, so the gap stays flat while the bicarbonate falls. This is the septic patient who has received 6 L of 0.9% saline: a gap of 11, a corrected gap of 14.5, a bicarbonate of 14, and two stacked acidoses. Reading the gap alone misses half the problem and tempts you toward more of the fluid that caused it.

A concurrent metabolic alkalosis. Vomiting, diuretics, or exogenous alkali can prop the bicarbonate up while the organic anion accumulates underneath. The delta ratio catches this.

A low baseline reference gap. Analyser-dependent, patient-dependent, and unknowable unless you have a prior panel.

Lactate that arrived without a proton. Exogenous sodium lactate from lactated Ringer or lactate-buffered dialysate, as above. And, by the argument in the second section, any endogenous lactate produced while ATP turnover remains mitochondrial.

Wide gap, normal lactate

The inverse is the more dangerous error, because it means an anion is present that you have not identified and are not treating. The list is long but finite, and every item on it is invisible to a lactate electrode:

  • Ketoacids. Beta-hydroxybutyrate is the dominant ketone in ketoacidosis and is missed entirely by the nitroprusside reaction, which detects acetoacetate and acetone.
  • D-lactate. Produced by colonic fermentation of malabsorbed carbohydrate in short bowel and post-bariatric anatomy. Humans metabolise it slowly, and the standard L-lactate oxidase assay does not detect it. The presentation is episodic postprandial encephalopathy with dysarthria and ataxia; a level above 3 mmol/L is diagnostic, but only if you ask the laboratory for it by name [12].
  • Uraemic anions. Sulfate, phosphate, hippurate.
  • Toxic alcohol metabolites. Formate from methanol; glycolate and oxalate from ethylene glycol.
  • Salicylate, which classically produces a mixed respiratory alkalosis and high-gap acidosis, often with ketones.
  • 5-oxoproline (pyroglutamic acid) from glutathione depletion in chronic paracetamol exposure with malnutrition, sepsis, or flucloxacillin.
  • Citrate, accumulating when hepatic metabolism fails during regional citrate anticoagulation on CRRT. Watch the total-to-ionised calcium ratio rising above 2.5.
  • Propylene glycol, the diluent in high-dose lorazepam, diazepam, and phenobarbital infusions, which comes with an osmolar gap.
  • Anionic paraproteins.

Ethylene glycol deserves a paragraph of its own because it inverts the logic. Glycolate cross-reacts with the lactate oxidase electrodes used in many blood gas and point-of-care analysers but not with lactate dehydrogenase based central laboratory methods. The result is a point-of-care lactate of 9.2 alongside a central laboratory lactate of 1.0 in the same patient. That discrepancy, the so-called lactate gap, is itself the diagnostic clue, and it can be generated in minutes by running one sample on both platforms, long before an ethylene glycol level returns [13]. The trap is that the falsely high point-of-care lactate appears to explain the anion gap, so the real anion goes unlooked-for.

The delta ratio, and why lactic acidosis sits near 1.6

The delta ratio compares the rise in the gap with the fall in bicarbonate, and it is how you detect a second acid-base process hiding behind the first.

A ratio below 0.8 means bicarbonate has fallen further than the gap has risen: there is a concurrent normal-gap hyperchloraemic acidosis, or the organic anion is being lost in the urine with sodium. A ratio above 2 means the gap has risen further than bicarbonate has fallen: suspect a coexisting metabolic alkalosis, or a pre-existing high bicarbonate from chronic respiratory acidosis.

Between 0.8 and 2.0 the picture is consistent with an isolated high-gap acidosis, and the position within that range is informative. Pure lactic acidosis classically sits near 1.6, because the lactate anion is retained in the extracellular space while a large share of the proton load is buffered intracellularly and by bone. Diabetic ketoacidosis with preserved glomerular filtration runs nearer 1.0, because ketoanions are filtered and excreted with sodium and potassium, so the gap falls back toward normal faster than bicarbonate recovers. That difference is also why late, well-hydrated DKA can end up looking like a pure hyperchloraemic acidosis.

The Cohen and Woods classification, used correctly

The type A versus type B split is still the most useful bedside taxonomy [21], provided you use it as it was written:

  • Type A. Clinical evidence of inadequate tissue oxygen delivery: shock of any cause, severe hypoxaemia, profound anaemia, carbon monoxide, regional ischaemia.
  • Type B1, underlying disease. Sepsis, hepatic failure, renal failure, diabetes, malignancy (classically lymphoma and leukaemia), seizures, thiamine deficiency, phaeochromocytoma, pancreatitis, short bowel and other malabsorption, heat stroke.
  • Type B2, drugs and toxins. Biguanides, alcohols, salicylates, isoniazid, iron, NRTIs, linezolid, propofol, catecholamines and beta-2 agonists, cyanide, propylene glycol.
  • Type B3, inborn errors. Pyruvate dehydrogenase and pyruvate carboxylase deficiency, glucose-6-phosphatase deficiency, fructose-1,6-bisphosphatase deficiency, MELAS and other respiratory chain defects, methylmalonic aciduria.

Two caveats are worth stating out loud, because the scheme is routinely misquoted. First, B1, B2, and B3 divide by aetiology, not by mechanism. A complex I lesion is B2 if it is metformin and B3 if it is inherited, even though the biochemistry is identical. Second, the scheme leaks badly: sepsis is nominally B1 yet routinely carries a genuine type A component, and most shock states are mixed. That is why contemporary reviews increasingly classify by increased production versus decreased removal instead [14].

Drugs

A large share of ICU hyperlactataemia is pharmacological, and the agents sort cleanly by mechanism [15, 16].

AgentMechanismCategory
MetforminComplex I inhibition plus suppressed hepatic gluconeogenesisB2: complex I plus clearance failure. Risk concentrates in renal impairment, sepsis, and overdose. Dialysable [17, 18]
Epinephrine, norepinephrine, dobutamineBeta-2 stimulation of Na+/K+-ATPase and glycogenolysisB2: aerobic glycolysis. Normal L/P ratio, often normal pH
Beta-2 agonists (albuterol, terbutaline)Same, plus lipolysisB2: aerobic glycolysis. Benign and routinely misread as worsening shock
Propofol (PRIS)Impaired fatty acid oxidation via CPT-1, respiratory chain uncouplingB2: mitochondrial. Rising lactate is an early signal
LinezolidMitochondrial ribosomal protein synthesis inhibitionB2: mitochondrial. Typically after weeks, reversible
NRTIs (stavudine, didanosine, zidovudine)Polymerase gamma inhibitionB2: mitochondrial, sometimes with hepatic steatosis
Propylene glycolMetabolised by alcohol dehydrogenase to lactate and pyruvateB2: substrate load, plus an osmolar gap
SalicylateUncouples oxidative phosphorylation, stimulates glycolysisB2: mitochondrial, with a mixed acid-base picture
Cyanide, carbon monoxide, hydrogen sulfideComplex IV inhibitionB2: complex IV. Normal or high ScvO2; lactate above 8 supports cyanide in smoke inhalation
Thiamine deficiencyPyruvate dehydrogenase cofactor deficiencyB1: PDH cofactor. Near-normal L/P ratio, cheap to treat, easy to miss [9]
EthanolRaised cytosolic NADH, blocked gluconeogenesisB2: redox shift, usually modest
Paracetamol (chronic)Glutathione depletion, 5-oxoproline accumulationHigh gap with a normal lactate
Citrate (CRRT)Failed hepatic citrate metabolismHigh gap with a normal lactate

Two of these entries produce a wide gap with a normal lactate, which is the point: the drug list and the unmeasured-anion list are the same list read in two directions. Medication-induced hyperlactataemia is also a diagnosis of exclusion, and the systematic review literature behind it is built almost entirely from case reports and small series, so attribution at the bedside should stay provisional.

What follows for management

Three practical consequences, none of which are protocols.

Correct the gap for albumin before you interpret it. It costs nothing and it changes the reading in a large fraction of ICU patients.

Ask which mechanism the lactate reflects before treating it as a perfusion target. Adrenergic, drug-induced, clearance-limited, and exogenous lactate do not respond to volume, and chasing them with fluid or inotrope causes harm. ANDROMEDA-SHOCK compared peripheral perfusion targeted resuscitation against lactate targeted resuscitation and did not find lactate targeting superior [19], which is consistent with lactate being a heterogeneous signal rather than a single physiological quantity.

Treat the cause, not the pH. BICAR-ICU found no overall benefit from sodium bicarbonate in severe metabolic acidaemia, with a signal of benefit confined to the AKIN 2 to 3 subgroup [20]. Where a specific mechanism exists it usually has a specific answer: thiamine for pyruvate dehydrogenase block, extracorporeal removal for metformin, hydroxocobalamin for cyanide, withdrawal for linezolid and propofol.

The unifying idea is that neither number measures tissue oxygenation. Lactate measures lactate, the anion gap is an arithmetic residual that cannot see protons at all, and the clinical information lives in how the two relate to each other.

Sources

1. Brooks GA. (2018). The science and translation of lactate shuttle theory. Cell Metab. doi:10.1016/j.cmet.2018.03.008 2. Brooks GA. (2020). Lactate as a fulcrum of metabolism. Redox Biol. doi:10.1016/j.redox.2020.101454 3. Brooks GA et al. (2022). Tracing the lactate shuttle to the mitochondrial reticulum. Exp Mol Med. doi:10.1038/s12276-022-00802-3 4. Brooks GA. (2021). Role of the heart in lactate shuttling. Front Nutr. doi:10.3389/fnut.2021.663560 5. Robergs RA, Ghiasvand F, Parker D. (2004). Biochemistry of exercise-induced metabolic acidosis. Am J Physiol Regul Integr Comp Physiol. doi:10.1152/ajpregu.00114.2004 6. Robergs RA. (2019). Quantifying proton exchange from chemical reactions: implications for the biochemistry of metabolic acidosis. Comp Biochem Physiol A. doi:10.1016/j.cbpa.2019.04.024 7. Levy B et al. (2008). Increased aerobic glycolysis through beta-2 stimulation is a common mechanism involved in lactate formation during shock states. Shock. doi:10.1097/SHK.0b013e318167378f 8. Suetrong B, Walley KR. (2016). Lactic acidosis in sepsis: it is not all anaerobic. Chest. doi:10.1378/chest.15-1703 9. Agedal KJ, Steidl KE, Burgess JL. (2023). An overview of type B lactic acidosis due to thiamine deficiency. J Pediatr Pharmacol Ther. doi:10.5863/1551-6776-28.5.397 10. Kraut JA, Madias NE. (2007). Serum anion gap: its uses and limitations in clinical medicine. Clin J Am Soc Nephrol. doi:10.2215/CJN.03020906 11. (2008). Anion gap, anion gap corrected for albumin, and base deficit fail to accurately diagnose clinically significant hyperlactatemia in critically ill patients. J Intensive Care Med. doi:10.1177/0885066607312985 12. (2018). D-lactic acidosis in humans: systematic literature review. Pediatr Nephrol. doi:10.1007/s00467-017-3844-8 13. Verelst S, Vermeersch P, Desmet K. (2009). Ethylene glycol poisoning presenting with a falsely elevated lactate level. Clin Toxicol. doi:10.1080/15563650802432954 14. (2020). L-lactic acidosis: pathophysiology, classification and causes. Kidney Int. doi:10.1016/j.kint.2019.08.023 15. (2019). Medication-induced hyperlactatemia and lactic acidosis: a systematic review. Pharmacotherapy. doi:10.1002/phar.2316 16. (2022). Lactic acidosis related to pharmacotherapy and human diseases. Pharmaceuticals. doi:10.3390/ph15121496 17. (2024). Metformin-associated lactic acidosis in critically ill patients. World J Diabetes. doi:10.4239/wjd.v15.i6.1178 18. (2022). Continuous extracorporeal clearance in metformin-associated lactic acidosis: a systematic review. Clin Toxicol. doi:10.1080/15563650.2022.2127363 19. Hernandez G et al. (2018). Early goal-directed therapy using a physiological holistic view: ANDROMEDA-SHOCK. Ann Intensive Care. doi:10.1186/s13613-018-0398-2 20. Jaber S et al. (2018). Sodium bicarbonate therapy for patients with severe metabolic acidaemia in the intensive care unit (BICAR-ICU). Lancet. doi:10.1016/S0140-6736(18)31080-8 21. Kraut JA, Madias NE. (2014). Lactic acidosis. N Engl J Med. doi:10.1056/NEJMra1309483

Have questions or feedback about this article?
Join the discussion on our community: r/CardiacCriticalCare

Published on TheCVICU.com · Free educational content for cardiovascular and critical care medicine