MedCodeSearch

Guides Reading ICD-10-CM

How to Read an ICD-10-CM Code

An ICD-10-CM code is 3 to 7 characters long, and its shape tells you how it was built: a three-character category, then characters that add specificity, then an optional final character. This guide walks each part, including the placeholder X that confuses almost everyone the first time.

Reviewed August 2026 Checked against the official source files Reference, not coding advice

The anatomy of a code

Every ICD-10-CM code follows the same construction rules:

  • It is 3 to 7 characters long.
  • The first character is always a letter.
  • The second character is a digit.
  • The third character is a digit or a letter.
  • Characters four onwards may be digits or letters, and a decimal point is printed after the third character whenever the code is longer than three.

Reading left to right, the code gets more specific. The first three characters name a broad condition; each character after that narrows it — by cause, by anatomic site, by laterality, by severity, or by the episode of care.

S 7 2 . 0 0 1 A
1 2 3 4 5 6 7
Category Added specificity 7th character
S72.001A — “Fracture of unspecified part of neck of right femur, initial encounter for closed fracture”.

Characters 1 to 3: the category

The first three characters are the category, and a category is a real entry in the code set with its own page, its own description, and its own instructional notes. E11 is “Type 2 diabetes mellitus”; S72 is “Fracture of femur”.

The letter at the front places the code in a chapter. Chapters own letter ranges — E-codes sit in Chapter 4, endocrine, nutritional and metabolic diseases, S-codes in the injury chapter — so the first character alone tells you roughly what kind of condition you are looking at.

Most categories cannot be reported on their own, because more specific codes exist beneath them. But some can: I10, “Essential (primary) hypertension”, is a complete three-character code with nothing further to specify. Whether a given code is valid for submission is published in the official order file, not inferred from its length — see What Does a Billable/Specific ICD-10 Code Mean?

Characters 4 to 6: the detail

Characters after the decimal add specificity, and what they specify depends entirely on the category. In one category the fourth character might distinguish complications; in another it distinguishes anatomic site. There is no universal meaning attached to “the fourth character” the way there is in ICD-10-PCS, where each position is a fixed axis.

These characters can be letters as well as digits. E11.A — “Type 2 diabetes mellitus without complications in remission” — uses a letter in the fourth position, which is a useful reminder that ICD-10-CM codes are not numbers and should never be sorted or stored as numeric values.

Because the meaning is category-specific, the reliable way to understand a character is to walk the hierarchy: open the code page and read its parent, its siblings and its children. Every code page here shows that trail.

The 7th character

Some categories — injuries and certain other groups — require a final character in position 7 that describes the encounter or the outcome rather than the condition itself. In S72.001A, the trailing A carries “initial encounter for closed fracture”.

The available values and their meanings are published in the Tabular List, usually as a note on the category that all its codes inherit. MedCodeSearch shows those notes on the code page and labels which ancestor they came from, because that is where the definition actually lives.

The 7th character is position-based

It has to land in the seventh position — not simply at the end of the code. That constraint is the entire reason the placeholder exists.

The placeholder X

When a code needs a 7th character but is not yet seven characters long, ICD-10-CM inserts the letter X to hold the empty positions open. The X is a structural filler: it has no clinical meaning of its own, and it cannot be dropped.

E 0 8 . 3 7 X 1
1 2 3 4 5 6 7
Category Added specificity Placeholder 7th character
E08.37X1 — the X occupies position 6 so that the final character lands in position 7.

This has a consequence worth knowing: the string one character shorter is not necessarily the parent. E08.37 is the real parent of E08.37X1; there is no “E08.37X” code sitting in between. MedCodeSearch builds hierarchy from the official Tabular List rather than by trimming characters, precisely so that placeholder codes attach where the source says they attach. That approach is described on Methodology.

The decimal point is presentation, not data

The decimal after the third character is a printing convention. Underneath, a code is just its characters, which is why E11.9, E119 and e11.9 all refer to the same code. MedCodeSearch normalises a query by stripping punctuation and case before looking anything up, then displays and links the officially formatted version — so searching any of those three spellings lands you on E11.9.

Note that this is an ICD-10-CM convention only. ICD-10-PCS and HCPCS Level II codes are written without punctuation of any kind.

A worked example, one character at a time

Adding one character at a time to S72 shows exactly how specificity accumulates. Every row below is a real code in the current release:

Code Official description Valid for submission
S72 Fracture of femur No
S72.0 Fracture of head and neck of femur No
S72.00 Fracture of unspecified part of neck of femur No
S72.001 Fracture of unspecified part of neck of right femur No
S72.001A Fracture of unspecified part of neck of right femur, initial encounter for closed fracture Yes

Reading down the ladder: the site narrows, then laterality is added, then the encounter. Only the final row is flagged valid for submission in the official order file — the rows above it are headers that organize the code set and carry the notes their children inherit.

None of this tells you which row is right for a particular record. That depends on what the clinical documentation supports and on the ICD-10-CM Official Guidelines for Coding and Reporting, which are published alongside the code set by CDC/NCHS and CMS.

Official sources

Where the facts on this page come from. MedCodeSearch is an independent reference service; these organizations publish the code sets themselves.

Look up a code

Search every current ICD-10-CM, ICD-10-PCS and HCPCS Level II code, or browse a set from the top of its hierarchy.

Browse ICD-10-CM Browse ICD-10-PCS Browse HCPCS Level II Code updates

This guide explains how the code sets are built and published. It is not coding, billing, legal or medical advice, and it never recommends a code for a specific patient or claim. See the Disclaimer and Methodology pages.