THE LIBBY JOURNAL — № 37CO2 · bicarbonate · electrolytes · lab results · biomarker guidesOCT 2026 · № 37/49

CO2 blood test (bicarbonate): normal range, low and high

The CO2 on your metabolic panel is bicarbonate. Here's the normal range, what low or high usually means, how to read it with chloride, and when it's urgent.

The "CO2" on your blood test is bicarbonate, the main base your blood uses to soak up acid. Your kidneys set its level, and your lungs balance it by breathing out carbon dioxide. A low CO2 usually means acid is building up or bicarbonate is being lost. A high CO2 usually means acid is being lost, or that your kidneys are making up for lungs that hold on to carbon dioxide.12

The short version

  • Normal: about 23 to 29 mEq/L, according to MedlinePlus. Labs differ: Labcorp's range starts at 20.13
  • Low usually comes from kidney disease, diarrhea, ketoacidosis (for example in uncontrolled diabetes), or days of fast breathing at altitude or in pregnancy. High usually comes from vomiting, diuretics ("water pills"), or lungs that trap carbon dioxide.24
  • Urgent: one U.S. reference lab, ARUP, calls doctors right away for a result under 10 or over 40 mmol/L.5 Deep, fast breathing or confusion with a low CO2 also needs prompt medical care.6
  • CO2 shows the direction your acid-base balance has moved. Chloride, the anion gap and sometimes a blood pH show the cause.2
Diagram: your kidneys set the bicarbonate level, your lungs set the carbon dioxide level, and the balance between the two sets your blood pH. The CO2 on a metabolic panel is mostly bicarbonate.

What CO2 on your blood test measures

Bicarbonate (HCO3) is a base, which means it neutralizes acid. Your body makes acid all day from food and metabolism. Bicarbonate soaks it up, and the result is carbon dioxide that you breathe out.24

The test is called "CO2" or "total CO2" because the lab measures all the carbon dioxide the sample holds: bicarbonate plus a little dissolved gas. Bicarbonate makes up most of it, so the result works as your blood bicarbonate level.12 It's a different number from the pCO2 on a blood gas, which is the pressure of carbon dioxide gas in your blood.2

Two organs keep it steady. Your kidneys set the bicarbonate level: they make new bicarbonate and reclaim what they filter. Your lungs set the carbon dioxide level by how fast and deep you breathe. The balance between the two sets your blood pH.2

CO2 comes on the basic and comprehensive metabolic panels (BMP and CMP), next to sodium, potassium and chloride, so most people see it on routine blood work.1

What's a normal CO2?

Start with the range on your own report. Labs use different methods and populations, so their ranges differ.1

Chart comparing lab ranges for CO2: MedlinePlus 23 to 29, a typical lab range of 22 to 29, and Labcorp's adult range of 20 to 29, with the U.S. adult average of 24.5 marked.

  • MedlinePlus, from the U.S. National Library of Medicine, lists 23 to 29 mEq/L.1
  • A clinical review in the Ulster Medical Journal puts the typical lab range at 22 to 29 mmol/L.2
  • Labcorp, a commercial lab, uses 20 to 29 mmol/L for anyone over 12.3
  • In 31,195 U.S. adults in the NHANES survey, the average was 24.5 mEq/L.7

Some people run lower for a good reason. In pregnancy, faster breathing lowers carbon dioxide to about 32 mmHg, and the kidneys let bicarbonate go to keep the pH steady.8 The same thing happens at high altitude.9 Kidney function matters too: bicarbonate starts to fall once eGFR drops below 60, according to the KDIGO kidney guideline.10

"Optimal" CO2: what health optimizers aim for

Functional-medicine practitioners aim for the upper half of the lab range. Large studies point a little lower. Here's the full ladder, from the narrowest range to the widest:

Range bars for CO2 from narrowest to widest: Optimal DX 27 to 30; functional medicine 25 to 30; lowest-risk band in NHANES 22 to 26; MedlinePlus 23 to 29; Labcorp 20 to 29; the KDIGO kidney treatment point under 18; urgent under 10 or over 40.

TargetRangeWho uses it
Narrowest (commercial)27–30 mEq/LOptimal DX, which calls 25–30 optimal and "preferably 27–30"11
Functional medicine25–30 mEq/LThe optimal range shown in the Libby app, which its catalog credits to the standard functional-medicine textbook12
Lowest-risk band in a large study22–26 mEq/LNHANES: death rates were higher below 22, and heart deaths rose above 267
Typical lab range23–29 mEq/LMedlinePlus (U.S. National Library of Medicine)1
Wide lab range20–29 mmol/LLabcorp, for anyone over 123
Kidney guideline action pointunder 18 mmol/LKDIGO 2024: in chronic kidney disease, consider treatment10
Urgentunder 10 or over 40 mmol/LARUP, a commercial reference lab: its call-now limits5

Why the low end matters:

  • In 31,195 U.S. adults followed for a median of 6.7 years (NHANES 1999–2010), people with a bicarbonate under 22 had a 54% higher death rate than people at 22–26. Above 26, overall death rates were about the same, but heart-related deaths rose 8% with each 1 mEq/L.7
  • In 2,287 healthy adults aged 70–79 followed for about 10 years (the Health ABC study), a bicarbonate under 23 carried a 24% higher death rate than 23–27.9. A level of 28 or more made no clear difference.13

Bar chart of mortality hazard ratios by bicarbonate group. NHANES 1999 to 2010: under 22, 1.54; 22 to 26, reference 1.00; over 26, 1.04. Health ABC, ages 70 to 79: under 23, 1.24; 23 to 27.9, reference 1.00; 28 or more, 1.03.

Keep "optimal" in perspective: these are targets, not diagnoses. The evidence backs the floor better than the ceiling. Risk climbs below 22 or 23 in both studies, which supports keeping CO2 out of the low 20s. At the top, the picture flips. In the NHANES data, heart-related deaths rose with each point above 26, and in Health ABC, metabolic alkalosis carried a 35% higher death rate.713 So the commercial 27–30 target sits above the band where the large study saw the lowest risk. In a person with obesity and sleep apnea, 27 is also the point where the American Thoracic Society suggests checking for carbon dioxide retention.14

What a low or high CO2 usually means

The direction is the first clue. A low CO2 means acid is building up, bicarbonate is being lost, or the kidneys are balancing fast breathing. A high CO2 means acid is being lost, or the kidneys are balancing carbon dioxide that the lungs hold on to.2

Scale of CO2 from very low (under 10) through low, normal (about 23 to 29), high (over 30) and very high (over 40), with the most common causes listed under the low and high bands.

Low CO2: the usual suspects

  • Chronic kidney disease. Kidneys that filter less also make less new bicarbonate.2 In the KDIGO guideline's data, a bicarbonate under 22 shows up in about 7–8% of people at stage 3 (with little urine protein), rising to 36–38% at stage 5 (with heavy urine protein).10 In mild to moderate kidney disease, chloride usually rises as bicarbonate falls.15
  • Diarrhea. Heavy diarrhea carries bicarbonate out through the gut.2
  • Ketoacidosis and lactic acidosis. Uncontrolled diabetes can flood the blood with ketone acids (diabetic ketoacidosis, DKA). A severe infection or shock can do the same with lactic acid.2 Doctors diagnose DKA with a bicarbonate under 18, a pH under 7.30, or both, along with high ketones, in someone with diabetes or a glucose of 200 mg/dL or more.16
  • Days of fast breathing. At altitude or in pregnancy, the kidneys release bicarbonate to balance the carbon dioxide you breathe off. At 3,100 m, bicarbonate had already dipped slightly after 24 hours and fell clearly by 44 hours.98
  • A short-filled tube. In a 2025 test, a 3 mL tube filled only a third of the way read a median of 21.6 mmol/L, versus 25.3 in a full tube, from the same people.17
  • Less common: carbonic anhydrase inhibitors (a class of glaucoma medicines), kidney tubule disorders (renal tubular acidosis), and Addison disease.12
  • Rare but dangerous: poisoning with methanol, antifreeze (ethylene glycol) or aspirin (salicylate).21

High CO2: the usual suspects

  • Vomiting. Losing stomach acid leaves extra bicarbonate behind, and chloride is lost with the acid.4
  • Diuretics ("water pills"). Thiazide and loop diuretics are a classic cause, often with low potassium.42
  • Lungs that hold on to carbon dioxide. In chronic lung disease such as COPD, carbon dioxide builds up, and the kidneys hold on to bicarbonate to balance it.2 The same happens in obesity hypoventilation syndrome: obesity, sleep-disordered breathing and a daytime pCO2 of 45 or more. The American Thoracic Society suggests a blood-gas check when a person with obesity and sleep apnea has a bicarbonate of 27 or more.14
  • Less common: too much aldosterone (primary hyperaldosteronism), Cushing syndrome, severe potassium loss, a lot of licorice, inherited salt-wasting (Bartter and Gitelman syndromes), and milk-alkali syndrome.4

Get prompt care if your CO2 is under 10 or over 40,5 or if a low CO2 comes with deep, fast breathing, confusion or unusual sleepiness.6 In someone with diabetes, add vomiting or belly pain to that list.16 With a high CO2, watch for confusion, muscle twitching or spasms, and numbness or tingling in the face, hands or feet.6

CO2 reads best next to its neighbors

CO2 tells you which way the balance moved. The pattern with chloride, the anion gap and, when you have one, a blood gas tells you what kind of problem it is:2

Four schematic bar charts showing typical acid-base patterns across CO2, chloride, anion gap, pH and pCO2: high-gap acidosis, normal-gap acidosis, metabolic alkalosis and carbon dioxide retention.

If you see…It often points to…
CO2 low, anion gap high, chloride about normalan acid being added: ketoacidosis, lactic acidosis, advanced kidney failure or a poisoning
CO2 low, chloride high or high-normal, anion gap normalbicarbonate being lost or not made: diarrhea, or kidney disease in its mild to moderate stages
CO2 high, chloride low, often potassium lowacid being lost: vomiting or diuretics (metabolic alkalosis)
CO2 high, chloride low, in someone with a lung conditioncarbon dioxide being retained, with the kidneys balancing it (COPD, obesity hypoventilation)14

The third and fourth rows share one pattern on a routine panel: CO2 up, chloride down. A blood pH, read with the clinical picture, tells them apart: it runs high-normal or high with metabolic alkalosis, and low-normal or low with chronic carbon dioxide retention.4

For the anion gap itself, Hamilton's review suggests looking for a cause once the gap is over 14 mmol/L (over 18 if your lab adds potassium to the formula). A gap over 20 is always high.2

How fast CO2 changes

Your lungs move fast and your kidneys move slowly. Breathing changes carbon dioxide within minutes to hours. The kidneys take several days to shift bicarbonate in response.24

Timeline from minutes to years showing how fast bicarbonate responds: breathing changes within minutes to hours, a short-filled tube reads low at once, altitude lowers bicarbonate over 24 to 44 hours, kidney compensation takes several days, and kidney disease lowers it over years.

What that means in practice:

  • A single low result is often repeated. A short-filled tube can read low.17 Mention recent vomiting, diarrhea, travel to altitude, pregnancy and new medicines when you get tested.
  • A level that stays low is worth a kidney check. Bicarbonate drifts down as kidney function falls, and KDIGO suggests treatment in kidney disease once it's under 18.10
  • Trends beat snapshots. A CO2 that slides down over several tests tells a different story than one that bounces around 24. Compare results from the same lab, because ranges and methods differ.1

Going deeper: the bicarbonate buffer

Diagram of the Henderson-Hasselbalch equation: pH equals 6.1 plus the log of bicarbonate divided by 0.0301 times pCO2. Bicarbonate 24 with pCO2 40 gives pH 7.40; bicarbonate 12 with pCO2 40 gives 7.10; bicarbonate 12 with pCO2 20 gives 7.40 again.

Bicarbonate and carbon dioxide are two ends of one reaction: carbon dioxide plus water makes carbonic acid, which splits into hydrogen ions and bicarbonate. Your blood pH depends on the ratio between them, written as the Henderson–Hasselbalch equation:18

pH = 6.1 + log₁₀ (HCO3 ÷ (0.0301 × pCO2))

With a bicarbonate of 24 and a pCO2 of 40, the pH works out to 7.40. Halve the bicarbonate and the pH drops to 7.10. Breathe off half the carbon dioxide as well and the ratio, and the pH, return to 7.40. That's compensation, and it's why a CO2 can be far from normal while the pH looks fine.182

A blood-gas machine measures pH and pCO2 and calculates bicarbonate from this equation. Your metabolic panel measures total CO2 in serum or plasma, which includes a little dissolved carbon dioxide on top of bicarbonate. The two numbers are close cousins, so compare like with like when you track a trend.182

Questions worth asking

  • Is my CO2 low or high, and by how much against my lab's range?
  • What do my chloride and anion gap show next to it?
  • What's my eGFR, and has it changed over time?
  • Could any of my medicines, such as a diuretic, be involved?
  • Would a blood gas help to check my pH and carbon dioxide?
  • Should we repeat it at the same lab before changing anything?

FAQ

What is a normal CO2 level on a blood test? MedlinePlus lists 23 to 29 mEq/L. Labs vary, and some use 20 or 22 as the lower limit.13

Is the CO2 on a blood test the same as bicarbonate? Nearly. Total CO2 is mostly bicarbonate, with a little dissolved carbon dioxide, so labs and doctors use it as a stand-in for bicarbonate.2

What does a low CO2 mean? Usually acid is building up or bicarbonate is being lost: kidney disease, diarrhea and ketoacidosis are common causes. It can also be the kidneys balancing fast breathing at altitude or in pregnancy.28

When is a CO2 result an emergency? A result under 10 or over 40 mmol/L is a call-now value at one U.S. reference lab, ARUP.5 So is a low CO2 with deep, fast breathing or confusion.6


This guide is for education. It can't diagnose you or replace care from a clinician who knows your history.

Footnotes

  1. National Library of Medicine. CO2 blood test. MedlinePlus Medical Encyclopedia. Reviewed May 19, 2025. Normal range 23 to 29 mEq/L (mmol/L), most CO2 in the blood is bicarbonate, and the lists of causes of low and high levels. MedlinePlus ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10 ↩11 ↩12 ↩13 ↩14

  2. Hamilton PK, Morgan NA, Connolly GM, Maxwell AP. Understanding Acid-Base Disorders. Ulster Med J. 2017;86(3):161–166. A plain clinical review: total CO2 as a bicarbonate measure, the typical 22–29 mmol/L range, the causes of each disorder, the anion gap, and worked cases. PMC ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10 ↩11 ↩12 ↩13 ↩14 ↩15 ↩16 ↩17 ↩18 ↩19 ↩20 ↩21 ↩22 ↩23 ↩24 ↩25 ↩26 ↩27

  3. Labcorp. Carbon Dioxide, Total (test 001578). Test catalog, accessed September 23, 2026. Reference range 20–29 mmol/L for ages over 12. A commercial laboratory's published range. labcorp.com ↩ ↩2 ↩3 ↩4 ↩5 ↩6

  4. Emmett M. Metabolic Alkalosis: A Brief Pathophysiologic Review. Clin J Am Soc Nephrol. 2020;15(12):1848–1856. Defines metabolic alkalosis as bicarbonate above 30, lists its causes, and explains why only pH separates it from chronic respiratory acidosis. PMC ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10 ↩11

  5. ARUP Laboratories. Critical Values List, CORP-APPEND-0104A, Rev. 46, April 2026. Bicarbonate (total CO2): under 10 or over 40 mmol/L. ARUP is a commercial reference laboratory, and this is its own call-now policy, not a guideline. aruplab.com ↩ ↩2 ↩3 ↩4 ↩5 ↩6

  6. National Library of Medicine. Metabolic acidosis; Alkalosis. MedlinePlus Medical Encyclopedia. Symptoms: rapid, deep breathing and confusion with acidosis; confusion, tremor, muscle twitching, spasms and tingling with alkalosis. Metabolic acidosis · Alkalosis ↩ ↩2 ↩3 ↩4

  7. Al-Kindi SG, Sarode A, Zullo M, et al. Serum Bicarbonate Concentration and Cause-Specific Mortality: The National Health and Nutrition Examination Survey 1999-2010. Mayo Clin Proc. 2020;95(1):113–123. 31,195 U.S. adults, median follow-up 6.7 years; mean bicarbonate 24.5; under 22 versus 22–26, HR 1.54; over 26, HR 1.04 overall and 8% more cardiovascular deaths per 1 mEq/L. PMC ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7

  8. LoMauro A, Aliverti A. Respiratory physiology of pregnancy: Physiology masterclass. Breathe (Sheff). 2015;11(4):297–301. Arterial pCO2 falls to about 32 mmHg and the kidneys excrete bicarbonate to compensate. PMC ↩ ↩2 ↩3

  9. Skalla E, Treml B, Rajsic S, et al. Early acclimatization to high altitude: Acid-base and fluid balance dynamics during the first 2 days at 3100 m. Exp Physiol. 2026;111(3):1387–1396. 12 adults: a slight fall in bicarbonate at 24 hours and a distinct fall at 44 hours. PMC ↩ ↩2 ↩3

  10. Kidney Disease: Improving Global Outcomes (KDIGO) CKD Work Group. KDIGO 2024 Clinical Practice Guideline for the Evaluation and Management of Chronic Kidney Disease. Kidney Int. 2024;105(4S):S117–S314. Section 3.10 and Practice Point 3.10.1: bicarbonate falls once eGFR is below 60, prevalence of bicarbonate under 22 by stage, and treatment considered below 18 mmol/L. PubMed · KDIGO ↩ ↩2 ↩3 ↩4 ↩5 ↩6

  11. Optimal DX. Electrolyte Biomarkers: Bicarbonate, CO2. Published June 3, 2022; accessed September 23, 2026. States an optimal serum bicarbonate of 25–30 mEq/L, "preferably 27–30". A commercial source, listed as what the optimizer community uses. optimaldx.com ↩ ↩2

  12. Weatherby D, Ferguson S. Blood Chemistry and CBC Analysis: Clinical Laboratory Testing from a Functional Perspective. 2nd ed. Bear Mountain Publishing; 2004. ISBN 978-0976136712. Widely used functional-medicine reference. The Libby app's marker catalog credits this book for the 25–30 range it shows as optimal; the range is as recorded in that catalog, and the book itself was not opened for this article. ↩ ↩2

  13. Raphael KL, Murphy RA, Shlipak MG, et al. Bicarbonate Concentration, Acid-Base Status, and Mortality in the Health, Aging, and Body Composition Study. Clin J Am Soc Nephrol. 2016;11(2):308–316. 2,287 adults aged 70–79, mean follow-up 10.3 years, bicarbonate calculated from blood gases: under 23, HR 1.24; 28 or more, HR 1.03; metabolic alkalosis, HR 1.35. PMC ↩ ↩2 ↩3

  14. Mokhlesi B, Masa JF, Brozek JL, et al. Evaluation and Management of Obesity Hypoventilation Syndrome. An Official American Thoracic Society Clinical Practice Guideline. Am J Respir Crit Care Med. 2019;200(3):e6–e24. Uses serum bicarbonate 27 mmol/L to decide when to check pCO2 in obese patients with sleep-disordered breathing. PMC ↩ ↩2 ↩3 ↩4

  15. Chen W, Abramowitz MK. Metabolic acidosis and the progression of chronic kidney disease. BMC Nephrol. 2014;15:55. The acidosis of mild to moderate kidney disease is mostly hyperchloremic (normal anion gap). PMC ↩ ↩2

  16. Umpierrez GE, Davis GM, ElSayed NA, et al. Hyperglycemic Crises in Adults With Diabetes: A Consensus Report. Diabetes Care. 2024;47(8):1257–1275. The ADA/EASD-led consensus: DKA criteria (bicarbonate under 18 or pH under 7.30), severity bands (bicarbonate under 10 is severe) and symptoms. PMC ↩ ↩2

  17. de Koning L, Ezra S, Cai F, et al. Underfilled tubes revisited: What blood tests can be reported on short draws? Am J Clin Pathol. 2025;164(5):820–829. 12 volunteers, full versus one-third-filled 3 mL lithium-heparin tubes: CO2 median 25.25 versus 21.55 mmol/L. PMC ↩ ↩2 ↩3

  18. Yee J, Frinak S, Mohiuddin N, Uduman J. Fundamentals of Arterial Blood Gas Interpretation. Kidney360. 2022;3(8):1458–1466. The Henderson–Hasselbalch equation (pK 6.1, CO2 solubility 0.0301) and how blood-gas machines calculate bicarbonate. PMC ↩ ↩2 ↩3

Educational content, not medical advice.Libby is a personal record tool, not a medical service — it doesn't diagnose, treat, or prescribe. Reference ranges vary by lab and by person. Talk to a qualified healthcare professional about your results.

Illustration of the Libby app with example values: CO2, chloride, eGFR and hemoglobin A1c each shown on a range bar with its optimal zone.

Compare your results to optimal ranges.

Upload a lab PDF or a photo of your report. Libby puts every marker on your lab's range and the optimal range, and tracks your trends over time.

View your CO2 ›
← All articles