Let’s be honest for a second.
Billing is probably not why you became a chiropractor.
You got into this field to help people move better, feel less pain, and avoid surgery. But if you want to keep your practice doors open, you have to get paid for that work. And in the world of insurance, getting paid starts with one specific thing: the correct code.
ICD-10 codes can feel like a foreign language. They are specific, sometimes frustratingly detailed, and they change just often enough to keep you on your toes.
But here is the good news. You do not need to memorize thousands of codes. You only need to master the ones you use every single day.
This guide is your friendly, practical map to the world of ICD-10 codes for chiropractors. We will look at the most common diagnoses, how to link them to your treatments, and how to avoid the dreaded “medical necessity” denial.
Let us turn that confusing code book into a tool that works for you.

ICD 10 Codes for Chiropractors
Why Specific ICD-10 Codes Matter for Your Practice
Before we jump into the list of numbers, we need to talk about the “why.”
In the past, a chiropractor might write “subluxation” on a claim and get paid. Those days are long gone. Insurers today use automated systems that scan every single digit of your codes.
If your code is vague, your claim gets flagged.
If your code does not match your treatment, your claim gets rejected.
If your code does not prove medical necessity, your patient gets a bill.
Specificity is your best friend. ICD-10 is incredibly detailed on purpose. It wants to know exactly where the problem is (which spinal region), what is causing it (pain, inflammation, degeneration), and how severe it is (acute or chronic).
When you choose the right code, you are telling the insurance company a story. A story about a real human being with a real problem that requires real chiropractic care.
A vague code tells a boring story. A specific code gets the check.
Understanding the Structure: How ICD-10 Codes Work
Let us break down the anatomy of a code. It looks like a random string of letters and numbers, but it actually makes logical sense.
Take this example: M54.5
-
M = The chapter (Diseases of the musculoskeletal system and connective tissue)
-
54 = The category (Dorsalgia – back pain)
-
.5 = The specific location or cause (Low back pain)
Now look at a chiropractic-specific code: M99.03
-
M99 = Biomechanical lesions, not elsewhere classified (This is the “subluxation” family)
-
.03 = The location (Lumbar region)
The pattern is always: Letter + Numbers + Decimal + More Numbers.
The more digits you add, the more specific you become. A three-digit code is usually too vague for modern billing. You want to aim for 4, 5, or even 6 characters whenever possible.
Important Note for Readers: Never use an “unspecified” code (like M54.50 for back pain, unspecified) if you know the actual location. Unspecified codes are the #1 reason for automated denials.
The King of Chiropractic Codes: Subluxation (M99 Series)
For decades, the vertebral subluxation complex has been the clinical backbone of chiropractic. However, ICD-10 does not use the word “subluxation” in the same way we do in the office.
In the ICD-10 world, you will usually look at M99.0 – Segmental and somatic dysfunction.
This is the code family for biomechanical lesions. It describes a joint that is not moving properly. It is a functional problem, not a structural one (like a fracture or tumor).
Here are the specific subluxation codes you will use by region:
| ICD-10 Code | Description | Chiropractic Application |
|---|---|---|
| M99.00 | Segmental dysfunction, head region | Occipital subluxation, upper cervical fixation |
| M99.01 | Segmental dysfunction, cervical region | Neck stiffness, restricted cervical ROM |
| M99.02 | Segmental dysfunction, thoracic region | Mid-back tightness, rib dysfunction |
| M99.03 | Segmental dysfunction, lumbar region | Low back fixation, lumbar facet syndrome |
| M99.04 | Segmental dysfunction, sacral region | SI joint dysfunction, sacral fixation |
| M99.05 | Segmental dysfunction, pelvic region | Pelvic torsion, innominate rotation |
| M99.06 | Segmental dysfunction, lower extremity | Hip, knee, or ankle joint fixation |
| M99.07 | Segmental dysfunction, upper extremity | Shoulder, elbow, or wrist fixation |
| M99.08 | Segmental dysfunction, rib cage | Costovertebral or costotransverse dysfunction |
| M99.09 | Segmental dysfunction, abdomen | Rare; usually referred pain patterns |
A quick note on laterality. Unlike some codes, M99.0 does not usually specify left vs. right. You will document that in your narrative notes. Your adjustment (CPT code) does not need to match a left/right modifier from the M99 series, but your written exam must support it.
Pain Codes: The Everyday Workhorses (M50, M51, M54)
Not every patient walks in with a “subluxation.” Many walk in because “my back hurts.”
Pain codes are legitimate, but you must use them carefully. Medicare and many commercial payers prefer a specific structural diagnosis over a general pain diagnosis. However, pain codes are excellent for acute cases where imaging has not yet been done.
Neck Pain and Cervical Disorders
If your patient has neck pain with no radicular symptoms (pain going down the arm), you are likely in the M54 family.
-
M54.2 – Cervicalgia (Neck pain). This is your standard, simple stiff neck.
-
M50.90 – Cervical disc disorder, unspecified, with myelopathy? No. Wait. Let’s simplify. For a herniated disc in the neck causing arm pain: M50.13 (Cervical disc disorder at C5-C6 with radiculopathy, for example). You need the specific level.
For most chiropractors, daily neck pain without red flags is M54.2.
Low Back Pain and Lumbar Disorders
The low back is where things get busy.
-
M54.5 – Low back pain. This is the general code. Use it sparingly. It is often denied for maintenance care.
-
M51.26 – Other intervertebral disc displacement, lumbar region. This is for a herniated disc.
-
M51.27 – Other intervertebral disc displacement, lumbosacral region. This is for a herniated disc at L5-S1.
-
M54.16 – Radiculopathy, lumbar region. This is for “sciatica” – pain going down the leg.
Pro Tip: If a patient has a herniated disc and radiculopathy, you can code both. List the disc disorder as primary and the radiculopathy as secondary. This tells a powerful story of medical necessity.
Thoracic Pain
The mid-back is often forgotten, but it hurts just as much.
-
M54.6 – Pain in thoracic spine. Simple mid-back pain.
-
M54.11 – Radiculopathy, occipital region? No. For thoracic: M54.14 (Radiculopathy, thoracic region). This is rarer but occurs.
Sciatica and Radiculopathy (M54.1)
Sciatica deserves its own section because it is so common in chiropractic offices. Patients know the word “sciatica,” but your code book does not use it directly.
Instead, you will use Radiculopathy.
Radiculopathy means a nerve root is being irritated. This is a higher level of medical necessity than simple back pain. Insurers pay more attention to radiculopathy codes because they imply a more serious condition.
| Code | Description | When to Use |
|---|---|---|
| M54.10 | Radiculopathy, site unspecified | Only if you truly don’t know the region (rare) |
| M54.11 | Radiculopathy, occipital | Headaches with nerve involvement (less common) |
| M54.12 | Radiculopathy, cervical | Arm pain, numbness, tingling from the neck |
| M54.13 | Radiculopathy, cervicothoracic | Pain at the junction of neck and upper back |
| M54.14 | Radiculopathy, thoracic | Mid-back pain wrapping around the ribs |
| M54.15 | Radiculopathy, thoracolumbar | Junction pain |
| M54.16 | Radiculopathy, lumbar | Classic sciatica – pain down the leg |
| M54.17 | Radiculopathy, lumbosacral | Pain into the foot/calf from L5-S1 |
| M54.18 | Radiculopathy, sacral | Tailbone and pelvic nerve pain |
Critical advice: Never code radiculopathy without objective findings. You need a positive straight leg raise test, diminished reflexes, or dermatomal numbness in your notes. If your exam is normal, stick with M54.5 for low back pain.
Headache Codes: Helping Your Patients with Migraines and Tension
Headaches are a massive part of a modern chiropractic practice. The old days of just “cervicogenic headache” are over. You have better options now.
-
G44.1 – Vascular headache, not elsewhere classified. This is a general migraine-like code.
-
G44.2 – Tension-type headache. This is the “band around the head” stress headache.
-
G44.4 – Drug-induced headache (not for us).
-
M99.01 – Segmental dysfunction, cervical region (Subluxation contributing to headache).
And the most important one for chiropractors:
-
M54.11 – Radiculopathy, occipital region. This is for occipital neuralgia – those sharp, shooting pains from the base of the skull up over the scalp.
But what about “Cervicogenic headache”?
ICD-10 does not have a direct “cervicogenic headache” code. You have to build it. You would code:
-
M99.01 (Cervical segmental dysfunction)
-
G44.1 or G44.2 (The headache type)
-
M54.11 (If occipital nerves are involved)
This combination tells the real story: a headache coming from a neck problem.
Extremity Codes: It is Not Just About the Spine
If you are a full-spine or extremity-adjusted chiropractor, you need codes for shoulders, knees, and hips. You cannot just treat a frozen shoulder with a spinal code.
Shoulder Codes
-
M25.511 – Pain in right shoulder
-
M25.512 – Pain in left shoulder
-
M25.519 – Pain in unspecified shoulder
-
M75.0 – Adhesive capsulitis (Frozen shoulder)
-
M75.100 – Rotator cuff tear or rupture, not specified as traumatic
Hip and Pelvis
-
M25.551 – Pain in right hip
-
M25.552 – Pain in left hip
-
M99.05 – Segmental dysfunction, pelvic region (SI joint)
Knee and Ankle
-
M25.561 – Pain in right knee
-
M25.562 – Pain in left knee
-
M25.571 – Pain in right ankle
-
M25.572 – Pain in left ankle
Laterality is critical here. Unlike spinal subluxation codes, extremity pain codes require you to specify right, left, or bilateral. If you treat a right shoulder but code for an unspecified shoulder, your claim will be denied or audited.
The “Other” Codes: Sprains, Strains, and Trauma (S10-S39)
What if a patient was in a car accident?
Then you leave the M chapter and go to the S chapter. S codes are for injuries, sprains, and strains. They are usually covered under auto insurance (PIP) or workers’ compensation.
-
S13.4XXA – Sprain of ligaments of cervical spine, initial encounter. This is whiplash.
-
S23.3XXA – Sprain of ligaments of thoracic spine.
-
S33.5XXA – Sprain of ligaments of lumbar spine.
-
S33.6XXA – Sprain of ligaments of sacroiliac joint.
Notice the “XXA” at the end. The “A” means “initial encounter.” You will use:
-
A = Initial (active treatment)
-
D = Subsequent (routine healing follow-up)
-
S = Sequela (long-term effects)
Remember: For auto accidents, you usually need an “S” code (injury) rather than an “M” code (disease). Adjusting someone with chronic degeneration (M code) is different from adjusting acute whiplash (S code). Mixing them up will confuse the payer.
Conditions You Cannot Treat (Red Flags for Documentation)
Being a responsible professional means knowing what not to code.
If a patient has these conditions, you should refer out. You can treat the symptoms (like muscle spasm) if the condition is stable, but you cannot treat the disease itself.
| Condition | Code | Chiropractic Action |
|---|---|---|
| Malignant neoplasm (bone cancer) | C41.9 | Do not adjust. Refer to oncologist. |
| Cauda equina syndrome | G83.4 | Emergency referral. Do not adjust. |
| Pathologic fracture | M84.4 | Do not adjust. Refer to orthopedist. |
| Rheumatoid arthritis (active, unstable) | M05.9 | Co-manage with MD. Avoid adjusting inflamed joints. |
| Vertebral osteomyelitis | M46.2 | Hospital referral. Do not adjust. |
You can still bill for an evaluation (CPT 99203) to discover these conditions. But once discovered, you stop adjusting and code the referral and education.
Combining Codes: Primary vs. Secondary Diagnoses
You are allowed to bill up to 12 diagnosis codes on a single claim. But just because you can does not mean you should.
The golden rule: One primary diagnosis, and a few supporting secondary diagnoses.
-
Primary diagnosis = The main reason for today’s visit. This is what you are primarily treating.
-
Secondary diagnoses = Other problems that exist and affect treatment.
Good example:
-
Primary: M99.03 (Lumbar segmental dysfunction)
-
Secondary: M54.16 (Radiculopathy, lumbar)
-
Secondary: M25.551 (Pain in right hip, due to gait change)
Bad example (overkill):
-
Primary: M54.5, M99.03, M51.26, S33.5XXA, M25.551, M25.552, R51, G44.1, M79.1
That is a mess. It looks like you are throwing spaghetti at the wall. Insurers will audit you for “unbundling” or “code inflation.”
Golden Rule: Your primary code must link directly to your primary CPT code (the adjustment, 98940-98942). If you adjust the lumbar spine, your primary code must be lumbar-related (M99.03, M54.5, or M51.26).
A Quick Reference Table for Common Scenarios
Let us put this into practice with real patient stories.
| Patient Scenario | Best Primary ICD-10 Code | Supporting Codes |
|---|---|---|
| 35yo office worker with stiff neck, no arm pain | M54.2 (Cervicalgia) | M99.01 (Cervical dysfunction) |
| 50yo with low back pain shooting to calf, +SLR | M54.16 (Lumbar radiculopathy) | M99.03 (Lumbar dysfunction) |
| 28yo after car accident, whiplash, neck pain | S13.4XXA (Cervical sprain, initial) | M54.2 (Cervicalgia) |
| 65yo with chronic OA knee and secondary back pain | M17.9 (Osteoarthritis of knee) | M54.5 (Low back pain due to gait) |
| 40yo with chronic tension headaches | G44.2 (Tension-type headache) | M99.01 (Cervical dysfunction) |
| 22yo athlete with shoulder pain, no trauma | M25.511 (Right shoulder pain) | M99.07 (Upper extremity dysfunction) |
| 55yo with frozen shoulder | M75.0 (Adhesive capsulitis) | M25.511 (Shoulder pain) |
| 45yo with mid-back pain between shoulder blades | M54.6 (Thoracic pain) | M99.02 (Thoracic dysfunction) |
Documentation Tips to Support Your Codes
A code without documentation is just a number. If an auditor comes calling, your notes need to justify every digit.
Here is how to write notes that support your ICD-10 codes:
-
Link symptoms to location. Do not just write “pain.” Write “sharp pain in the left lumbar paraspinal muscles from L3 to L5.”
-
Document your exam findings. A code for radiculopathy needs a positive nerve tension test or dermatomal findings.
-
Use the same language. If you code M99.03 (segmental dysfunction), use the words “segmental dysfunction” or “fixation” in your assessment paragraph.
-
Justify repeat visits. If you are using the same code for visit 12, your note must show progress (or lack of progress) and why continued care is necessary.
A real example from a defensible note:
“Patient presents for 6th visit. Reports 60% reduction in low back pain. Denies leg symptoms today. Exam reveals residual tenderness at L4 and L5 with mild restriction in flexion. Primary diagnosis remains M99.03 (lumbar segmental dysfunction). Patient continues to respond to chiropractic manipulative therapy. Plan: continue adjustment 2x weekly for 2 more weeks.”
Common Billing Mistakes Chiropractors Make (And How to Fix Them)
Let us walk through the three most common errors I see in practice audits.
Mistake #1: Using the Same Code for Every Patient
I have seen clinics where every single patient gets M99.09 (segmental dysfunction, abdomen) or M99.08 (rib cage) because “that is what the software defaults to.”
This is fraud. Not aggressive fraud. But accidental fraud.
The fix: Change your default. Train your front desk or biller to ask, “Where is the primary pain today?” and select the correct spinal region.
Mistake #2: Coding for a Diagnosis You Did Not Diagnose
You cannot code radiculopathy if you did not test for it. You cannot code a herniated disc without an MRI report.
The fix: Only code what you know from your exam and available imaging. If you suspect a disc but have no proof, code the symptoms (pain, muscle spasm).
Mistake #3: Forgetting the 7th Character for Injury Codes
S codes require a 7th character. It is easy to forget.
-
A = Initial
-
D = Subsequent
-
S = Sequela
If you use S13.4XXA for a patient who is on visit 12, you are lying to the payer. They are no longer in the “initial” phase. You should switch to S13.4XXD.
The fix: Review your injury cases every 4-6 weeks. Update the 7th character as the patient moves from acute to chronic.
How to Stay Updated for 2026 and Beyond
ICD-10 codes change every October 1st. The changes for 2026 are minor (mostly in the Z codes and some respiratory codes), but you cannot assume.
Here is your simple plan to stay current:
-
Subscribe to a coding newsletter. The American Chiropractic Association (ACA) offers one. It is worth the cost.
-
Do a quarterly audit. Pull 10 random claims from last month. Check the codes against your notes.
-
Use updated software. Your billing software (like ChiroTouch, Jane, or Eclipse) should auto-update codes every October. Verify that it did.
-
Do not rely on memory alone. Keep a laminated cheat sheet near your computer with your top 20 codes.
The Future of Chiropractic Coding
We are seeing a slow shift. Payers are moving toward value-based care, not volume-based care. That means they want to see outcomes, not just adjustments.
In the next few years, you may need to code differently:
-
G-codes for functional improvement (how much better is the patient moving?)
-
More Z codes for social determinants of health (is the patient stressed? Do they sit 10 hours a day?)
For now, focus on nailing the basics: specific location, clear medical necessity, and honest documentation.
Conclusion
ICD-10 codes do not have to be the enemy of your chiropractic practice. When you understand a handful of core families—M99 for subluxation, M54 for pain, M54.1 for radiculopathy, S-codes for trauma, and the extremity codes—you can confidently bill for 95% of your patients. Remember: specificity wins. A vague code gets denied; a precise code gets paid. Keep your documentation honest, link your primary code to your adjustment, and review your codes every six months to stay current.
Frequently Asked Questions (FAQ)
Q1: What is the most common ICD-10 code used by chiropractors?
A: The single most common code is M54.5 (Low back pain), followed closely by M54.2 (Cervicalgia) and M99.03 (Lumbar segmental dysfunction).
Q2: Can I bill for a maintenance adjustment?
A: Medicare does not cover maintenance care. Some commercial plans do. For maintenance, you typically use Z codes (like Z00.8 for a general exam without complaint), but reimbursement is very low. Most chiropractors bill acute codes with a diagnosis.
Q3: What is the ICD-10 code for “sciatica”?
A: There is no direct “sciatica” code. You use M54.16 (Radiculopathy, lumbar region) for pain down the leg.
Q4: Do I need an MRI to code a herniated disc?
A: Legally, no. You can code suspected disc herniation based on exam findings. However, if an insurer audits you, they will ask for proof. It is safer to have imaging for M51 codes.
Q5: What happens if I use the wrong code?
A: The claim will deny. You can resubmit with the correct code. If you repeatedly use wrong codes, you may be audited or flagged for fraud. Honest mistakes are fixable. Patterns are dangerous.
Q6: Can I use multiple subluxation codes (M99) on one claim?
A: Yes. You can code M99.01 (cervical) and M99.03 (lumbar) on the same patient if you adjusted both regions. Just make sure your CPT code matches (98941 for 3-4 regions).
Q7: How do I code for a patient who has no pain but wants “wellness” care?
A: You use Z02.9 (Encounter for administrative examination, unspecified) or Z00.00 (General adult medical exam). But most insurances will not pay. You should have the patient pay cash for wellness visits.
Q8: Where can I find the official ICD-10 guidelines?
A: The official source is the CDC website (cdc.gov/nchs/icd) or the AMA for CPT guidelines. For chiropractic-specific advice, the American Chiropractic Association (acatoday.org) is excellent.
Additional Resource
Link: American Chiropractic Association – Coding and Reimbursement Resources
*This member-exclusive section includes webinars, quarterly coding updates, a coding hotline, and a library of case studies showing how to correctly link ICD-10 codes to CPT adjustments.*
Author: Technical Writing Team
Date: APRIL 12, 2026
Disclaimer: *This article is for educational and informational purposes only. Coding requirements change frequently. Always verify codes with your specific payer and consult a certified professional coder or the latest ICD-10-CM guidelines before submitting claims.*
