ICD-10-CM code lookup
All 98,186 ICD-10-CM FY2026 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.
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.
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,186 codes in ICD-10-CM FY2026, 74,719 are valid for submission and 23,467 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-2026.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 2025-10-01 to 2026-09-30.
The directory it was downloaded from is public, so you can check any code here against the source yourself. Nothing on this page is transcribed by hand or summarised by a model: the descriptions are the file’s own strings.
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 FY2026, published by the National Center for Health Statistics and CMS, effective for dates of service from 2025-10-01 to 2026-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 ops@softhomeglobal.com and skip the form entirely. What happens to it.
The rest of the free tools
Next step
Coding is where the money is decided
A certified coder 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
