Healthcare MoneyBeginner5 min read

CPT and ICD codes: how to read the codes that decide your bill

Every line of a medical bill is a code, and the codes are where errors and overcharges hide. A plain-language guide to reading them like a pro.

Behind every charge on a medical bill sits a code — a short string of numbers or letters that tells your insurer exactly what was done and why. Providers, insurers, and the whole billing machine speak in these codes, and patients are handed the output without the dictionary. But the codes aren't hard to read at a basic level, and learning to spot them is the difference between paying whatever a bill says and catching the errors that studies suggest infect a large share of medical bills.

The two codes that matter most

  • CPT codes (Current Procedural Terminology): five-digit codes describing what was done — an office visit, an MRI, a blood test, a surgery. Example: 99213 is a common office visit; 72148 is a lumbar MRI without contrast.
  • ICD codes (International Classification of Diseases): the diagnosis — why the service was done. These are letter-and-number codes like E11.9 (type 2 diabetes) or M54.5 (low back pain).
  • Together they tell the story: the ICD code justifies the CPT code. If the diagnosis doesn't support the procedure, the claim can be denied — and if the codes are wrong, you can be over- or wrongly billed.
CPT = what was done; ICD = why
Keep the two straight and a bill starts making sense. The CPT code is the service you're being charged for; the ICD code is the diagnosis that's supposed to justify it. A mismatch between them is one of the most common reasons claims get denied — and it's usually a fixable coding error, not a real coverage problem.

Where errors and overcharges hide in the codes

  • Upcoding: billing a higher-complexity CPT code than the visit warranted — a routine check billed as an extended, complex visit.
  • Unbundling: splitting one procedure into multiple CPT codes to charge more, when a single bundled code applies.
  • Duplicate codes: the same CPT code and date billed twice.
  • Wrong diagnosis code: an ICD code that doesn't match your actual condition can cause a wrongful denial — or turn free preventive care into a billed diagnostic visit.
  • Quantity errors: a code billed for far more units than were actually provided.
The code that turned a free physical into a bill
A patient's annual physical should be $0 preventive care, coded with a wellness CPT and a routine diagnosis. But the bill shows a $95 charge under an office-visit CPT (99213) with a diagnostic ICD code — because she mentioned knee pain and the visit got coded as diagnostic. Knowing the codes, she calls billing: 'This was a preventive visit; please recode it correctly or split the diagnostic portion.' The charge is corrected. Without reading the codes, she'd have paid a bill she didn't owe.

How to actually use the codes

  1. 1
    Get the itemized bill with codes

    A summary bill hides the codes. Ask billing for a fully itemized statement listing every CPT and ICD code — you're entitled to it.

  2. 2
    Match it to your EOB

    Your explanation of benefits lists the same codes and the allowed amounts. The bill should match the EOB's patient-responsibility line, not the billed charges.

  3. 3
    Look up unfamiliar codes

    Free online CPT and ICD lookups tell you what each code means. Confirm the services and diagnoses actually match what happened at your visit.

  4. 4
    Flag mismatches and dispute

    Duplicates, services you didn't receive, upcoding, or a diagnosis that doesn't fit are all grounds to call billing and request a correction — or appeal a denial caused by a coding error.

A denial is often just a bad code
When a claim is denied as 'not medically necessary,' the culprit is frequently a mismatched or wrong diagnosis code, not a real coverage decision. Ask the insurer which codes were billed and what would make the claim payable — then ask the provider to correct and resubmit. Many denials evaporate at this step, before any formal appeal.

The bottom line

Medical bills are written in code — CPT for what was done, ICD for why — and the codes are exactly where errors and overcharges live. Get the itemized bill, match every code to your EOB, look up anything unfamiliar, and question mismatches, upcoding, and duplicates. You don't need to memorize the codebook; you just need to know the two code types exist and that a wrong code is a fixable error, not a final bill.

Check your understanding

1 of 3
On a medical bill, what does a CPT code describe versus an ICD code?

Not quite — try again.

The Worth letter

Get smarter about money every week

One email, no spam — practical guides and Worth updates. Unsubscribe anytime.

Put this into practice

Worth tracks your accounts, budgets, and goals — so the concepts in this article aren't just theory.

Start free trial