Seats from $1,500 a month · one month minimumUS business hours, your time zoneops@softhomeglobal.comCost calculator
Soft Home Global

ICD-10-CM code lookup

All 98,403 ICD-10-CM FY2027 codes, searchable by code or by diagnosis. Every result says whether it is billable or a category header a payer will reject, because that is the distinction that causes rejections nobody can appeal. Free, no signup, and nothing you type is recorded.

Try:

Type at least two characters. A code may be written with or without the dot. Common abbreviations are expanded — the code set itself never uses them. Searching FY2027 (dates of service from 1 Oct 2026).

What this answers that other lookups do not

There are plenty of places to paste a code and read its description back. The question that actually costs money is different: can this code go on a claim? Of the 98,403 codes in ICD-10-CM FY2027, 74,879 are valid for submission and 23,524 are category headers that are not. Both look like codes. Both are real ICD-10-CM. Submit one of the second kind and the claim comes back as an invalid diagnosis, which is a rejection rather than a denial, so there is nothing to appeal and the work is simply done again.

The distinction lives in a single column of the file the government publishes, and it is the column this tool is built around. When a header is the closest match, the page shows the billable codes beneath it rather than leaving you to work out what to use instead.

Where the data comes from

icd10cm-order-2027.txt from the National Center for Health Statistics and CMS, the same file clearing houses and payers load. It is public domain — no licence, no attribution requirement, no redistribution limit. Effective for dates of service from 2026-10-01 to 2027-09-30.

It is published inside icd10cm-code-descriptions-2027.zip, in this public directory — so you can download the archive, open the file and check any code on this page against it yourself. CMS also keeps a landing page for the code set if you want the context rather than the raw file. Nothing on this page is transcribed by hand or summarised by a model: the descriptions are the file’s own strings.

A claim is coded to its date of service, so the previous edition is kept too: icd10cm-order-2026.txt (ICD-10-CM FY2026, dates of service 2025-10-01 to 2026-09-30), from its own directory. Tick “Date of service before 1 October 2026” above the results to search it, and every ICD-10-CM FY2027 result says when a code’s status was different in FY2026.

Code to the date of service

ICD-10-CM changes every 1 October. A claim for a September date of service is coded from the previous edition even if you are billing it in November, and a lookup quietly serving the wrong year is worse than no lookup at all. That is why the edition and its effective dates are printed on this page rather than assumed.

Questions

Why do some codes say "category only — not billable"?

Because only a leaf code is valid on a claim. E11 is a real ICD-10-CM code meaning type 2 diabetes mellitus, but it has codes beneath it, so submitting E11 is rejected as an invalid diagnosis — you have to go down to E11.9 or E11.21 or whichever applies. The government order file marks this in a single column and almost no free lookup shows it, which is why it is the first thing on every row here.

Which edition is this, and when does it change?

ICD-10-CM FY2027, published by the National Center for Health Statistics and CMS, effective for dates of service from 2026-10-01 to 2027-09-30. ICD-10-CM changes every 1 October, so a code list has a shelf life. Code to the date of service, not the date you are billing.

Why is there no CPT lookup on this site?

CPT is copyright the American Medical Association and reproducing it requires a licence. ICD-10-CM and HCPCS Level II are public, so those we can publish. We would rather have no CPT tool than an unlicensed one.

Can I search by abbreviation?

Yes for the unambiguous ones — COPD, CHF, CKD, UTI, GERD and about two dozen more are expanded to the wording the code set actually uses, and the page tells you when it has done that. Abbreviations with two common readings are deliberately not guessed at: MS is multiple sclerosis to a neurologist and mitral stenosis to a cardiologist, and choosing one on your behalf is how a wrong code reaches a claim.

Is what I search recorded?

No. No query is logged and no query is stored — not the text, not a hash of it, not against an address. A diagnosis search is close enough to a clinical question that keeping a record of it is a liability nobody asked for.

Does a valid code mean the claim will be paid?

No. A billable code can still be denied for medical necessity, for a missing seventh character, for laterality, for sequencing, or because the payer wants a different code for that service. This tool answers one question — is this code valid for submission — and that question is worth answering because it is the one that produces rejections nobody can appeal.

If invalid-diagnosis rejections keep coming back

A rejection is not a denial: it never entered adjudication, so there is nothing to appeal and the claim has to be rebuilt. Send an aged AR report and you get back what is recoverable in it, in writing, free, before you pay anything.

Nothing you typed into the tool above is attached to this. This form sends the three fields in it and which page it came from — that is all it can send. Or write to info@softhomebpo.com and skip the form entirely. What happens to it.

The rest of the free tools

Sources

Sources checked 3 October 2026.

Next step

Coding is where the money is decided

A coding seat on your account full time, inside your own system, on United States hours. Send an aged AR report and see what we find before you pay anything.

Or write to ops@softhomeglobal.com