The obesity codes live in the E66 family, and body mass index gets its own separate code in the Z68 family. You usually need one from each.
Here is the whole E66 list, verified against the current ICD-10-CM tables:
| Code | Description |
|---|---|
| E66.01 | Morbid (severe) obesity due to excess calories |
| E66.09 | Other obesity due to excess calories |
| E66.1 | Drug-induced obesity |
| E66.2 | Morbid (severe) obesity with alveolar hypoventilation |
| E66.3 | Overweight |
| E66.811 | Obesity, class 1 |
| E66.812 | Obesity, class 2 |
| E66.813 | Obesity, class 3 |
| E66.89 | Other obesity not elsewhere classified |
| E66.9 | Obesity, unspecified |
The class codes are newer than most guidance
This is the part worth knowing, because a great deal of what is published online predates it.
E66.811, E66.812 and E66.813 — obesity class 1, 2 and 3 — are relatively recent additions. Older guidance routes everything through E66.01 for "morbid obesity" and E66.09 for everything else, then leans on a Z68 code to convey severity. That still works, but it is no longer the most specific option available.
Specificity is not a bureaucratic virtue here. A payer reviewing a prior authorisation is looking for documentation that a clinical threshold is met. A code that says "class 3" says it directly, where "other obesity due to excess calories" plus a separate BMI code asks the reviewer to assemble the conclusion themselves.
What class 1, 2 and 3 actually mean
The code descriptors say "Obesity, class 1", "class 2" and "class 3" without defining the boundaries. The boundaries come from standard clinical convention, and they are:
| Category | BMI | Usual code |
|---|---|---|
| Overweight | 25.0–29.9 | E66.3 |
| Obesity, class 1 | 30.0–34.9 | E66.811 |
| Obesity, class 2 | 35.0–39.9 | E66.812 |
| Obesity, class 3 | 40.0 and above | E66.813 |
"Class 3 obesity", "severe obesity" and "morbid obesity" all describe the same thing — a BMI of 40 or more. The older term is the one still written into the codebook at E66.01 and E66.2; the newer terms are what most clinicians now say, partly because "morbid" reads as a judgement rather than a measurement.
Two things worth holding onto. First, the 30/35/40 cut-offs are convention, not something the code descriptors state, so a clinician documents the class from the measured BMI. Second, BMI is a population screening tool that says nothing about body composition — see what happens to muscle during weight loss for why two people at the same BMI are not in the same position.
The Z68 code: BMI gets its own number
ICD-10 records BMI separately, in bands, and the adult ladder is finely divided at the low end and coarse at the high end:
| Code | BMI |
|---|---|
| Z68.1 | 19.9 or less |
| Z68.20 – Z68.29 | 20.0–29.9, in single-point steps |
| Z68.30 – Z68.39 | 30.0–39.9, in single-point steps |
| Z68.41 | 40.0–44.9 |
| Z68.42 | 45.0–49.9 |
| Z68.43 | 50.0–59.9 |
| Z68.44 | 60.0–69.9 |
| Z68.45 | 70 or greater |
So a BMI of 33.4 is Z68.33, and a BMI of 47 is Z68.42.
The pairing rule
A Z68 code is a secondary code. It never goes on a claim by itself.
It reports a measurement, not a diagnosis, so it has to accompany a diagnosis code — in this context, an E66 code. A claim carrying only Z68.42 tells a payer someone was weighed and measured, and nothing about why treatment is warranted.
The pairing is what makes the record complete: E66.813 with Z68.42 says class 3 obesity, BMI 45 to 49.9. That is a sentence a reviewer can act on.
Paediatric BMI is coded by percentile, not by number
Children do not get the adult ladder, because BMI in children is interpreted against age and sex:
- Z68.51 — less than the 5th percentile for age
- Z68.52 — 5th to less than 85th percentile
- Z68.53 — 85th to less than 95th percentile
- Z68.54 — 95th percentile to less than 120% of the 95th
- Z68.55 — 120% to less than 140% of the 95th percentile
- Z68.56 — at or above 140% of the 95th percentile
This matters more than it used to, because several of these drugs now carry paediatric indications. See GLP-1 medications for teens.
The codes that are not obesity codes
Three that get mixed in, because people search for them in the same breath:
- R63.0 — Anorexia. This is the code for loss of appetite as a symptom, not the eating disorder. If you are on a GLP-1 and appetite has fallen further than intended, this is the code that describes it. The eating disorder anorexia nervosa is coded in the F50 family, and the overlap in the word is a genuine source of confusion.
- E66.2 — Morbid (severe) obesity with alveolar hypoventilation. This is obesity hypoventilation syndrome, a specific and serious respiratory complication. It is not an alternative way of coding severe obesity, and it should not be used unless that diagnosis has been made.
- E66.1 — Drug-induced obesity. For weight gain caused by a medication — certain antipsychotics, steroids, some antidepressants. Distinct from E66.0's "due to excess calories", and it can matter for a coverage argument.
Why any of this concerns a patient
Coding looks like somebody else's problem until a prior authorisation is denied.
Coverage decisions for these drugs turn on documented clinical thresholds — typically BMI 30 and above, or 27 and above with a weight-related condition. Those thresholds are communicated to the payer as codes. If the claim carries E66.9, "obesity, unspecified", the reviewer has been told the least informative version of your situation.
So when a denial arrives, the codes on the claim are a reasonable thing to ask about. Not to argue clinical judgement — that belongs to your clinician — but because a more specific code and the matching BMI code may be a more accurate description of the same facts.
The comorbidity matters just as much: at a BMI between 27 and 30, coverage usually depends on a documented weight-related condition, which needs its own code alongside the E66 one. Our guides to getting a GLP-1 covered by insurance and prior authorisation cover the rest of that process, and does Medicare cover GLP-1 covers the separate statutory problem on Part D.
This article is general information about medical coding, not medical, coding or billing advice. Every code and descriptor here was verified against the current ICD-10-CM tables via the U.S. National Library of Medicine's Clinical Table Search Service on 5 August 2026. ICD-10-CM is revised annually and codes are added, retired and reworded — confirm against the current codebook before submitting anything. Assigning a diagnosis code is the responsibility of the treating clinician and reflects clinical judgement about the patient in front of them; nothing here should be read as guidance to select a code for a desired coverage outcome.
Scientific References
1 sourceReferences open in a new tab. Content is reviewed against peer-reviewed literature as part of our editorial policy.
About the author
Editor, Modern Weight Science
Claudiu Gheorghe is the editor of Modern Weight Science. He is not a physician. His role is to synthesize peer-reviewed studies, clinical-trial data, and FDA prescribing information into clear, plain-language explanations, and to make sure every factual claim on the site traces back to a cited source. Any decision about starting, changing, or stopping a medication belongs with a licensed clinician who knows your history.
Every claim is checked against peer-reviewed research through our review process and fact-checking policy.
Frequently Asked Questions
What is the ICD-10 code for obesity?
It depends on specificity. E66.9 is obesity, unspecified — the least informative option. E66.811, E66.812 and E66.813 code obesity class 1, 2 and 3 explicitly. E66.01 is morbid (severe) obesity due to excess calories and E66.09 is other obesity due to excess calories. E66.3 is overweight. A BMI code from the Z68 family is normally reported alongside whichever E66 code applies.
What is the ICD-10 code for morbid obesity?
E66.01, morbid (severe) obesity due to excess calories. E66.2 is a different code for morbid obesity with alveolar hypoventilation — obesity hypoventilation syndrome — and should only be used when that diagnosis has been made. Since morbid obesity means a BMI of 40 or above, E66.813 for obesity class 3 is now often the more specific choice, paired with the relevant Z68 code.
What BMI is class 3 obesity?
40 and above. Class 1 is a BMI of 30.0 to 34.9, class 2 is 35.0 to 39.9, and class 3 is 40 or more. Class 3 obesity, severe obesity and morbid obesity all describe the same range. Note that the ICD-10 descriptors say only Obesity, class 1, 2 or 3 without stating BMI ranges — the cut-offs are standard clinical convention, so the class is documented from the measured BMI.
Can you bill a Z68 BMI code on its own?
No. Z68 codes are secondary codes. They report a measurement rather than a diagnosis, so they must accompany a diagnosis code — in this context an E66 code. A claim carrying only Z68.42 tells a payer that someone was measured and nothing about why treatment is warranted. The complete pairing looks like E66.813 with Z68.42: class 3 obesity, BMI 45 to 49.9.
Why do the codes on my claim matter for GLP-1 coverage?
Because coverage decisions turn on documented clinical thresholds — typically a BMI of 30 or above, or 27 or above with a weight-related condition — and those thresholds reach the payer as codes. A claim carrying E66.9, obesity unspecified, gives the reviewer the least informative version of your situation. If a prior authorisation is denied, asking your clinician about the codes used is reasonable, not to dispute clinical judgement but because a more specific code and the matching BMI code may describe the same facts more accurately.
What is the ICD-10 code for decreased appetite?
R63.0, listed as Anorexia. This is loss of appetite as a symptom, not the eating disorder — anorexia nervosa is coded in the F50 family. The shared word causes real confusion. R63.0 is the code that would describe appetite falling further than intended on a GLP-1.
Continue learning
Where to read next
Not medical advice. This guide is for general education only. GLP-1 medications, dosing, and treatment suitability are decisions for you and a licensed clinician who knows your full medical history.


