The headache ICD-10 code for an unspecified headache is R51.9, and R51.0 covers headache with an orthostatic component. R51 on its own is a non-billable category. Migraine sits in G43 and other headache syndromes in G44, and most of those codes need extra characters for intractable and status migrainosus.
Headache codes cause avoidable rework because the old, short versions still circulate in cheat sheets and templates. A code that stops one level too early is not valid for billing, and a code that looks right can still say something different from the note, such as intractable when the provider never wrote it.
Key takeaways
- R51 is a category, not a billable code: use R51.9 (headache, unspecified) or R51.0 (with an orthostatic component).
- Migraine codes (G43) and other headache syndromes (G44) are more specific than R51.9, so use them once the provider documents the type.
- Most G43 and G44 codes end in a character for intractable or not, and G43 codes also split by status migrainosus.
- Chronic cluster headache is G44.02-, not G44.01-, which is episodic cluster headache.
- Never choose a type, episodic versus chronic or intractable versus not, from the visit count alone: the provider’s note decides.
Is R51 still a valid headache ICD-10 code?
No. R51 is a category that is divided into two billable codes, so a claim that stops at R51 is incomplete. The ICD-10-CM guidelines treat a code as invalid if it is not coded to the full number of characters it requires (CDC/NCHS FY2027 guidelines, Section I.B.2).
- R51.9, headache, unspecified. This is the code for a headache with no further type documented.
- R51.0, headache with orthostatic component, not elsewhere classified. Use it when the provider documents a headache tied to position, such as one that appears on standing.
R51 carries Excludes2 notes for migraine and other headache syndromes (G43 and G44), atypical face pain (G50.1) and trigeminal neuralgia (G50.0). Excludes2 means the conditions are separate and can be reported together when the patient truly has both. The G43 category also has an Excludes2 note for headache NOS (R51.9), which is why a patient with a diagnosed migraine and a separate unexplained headache can carry both (icd-10codes.com, R51; icd-10codes.com, G43).
Which code set applies today
CDC/NCHS released the FY2027 ICD-10-CM code set on October 1, 2026. It applies to services provided from October 1, 2026 through September 30, 2027 (CDC/NCHS ICD-10-CM files page). Check your encoder is on the FY2027 release before you rely on any table, including the ones below.
When to use a symptom code and when to move to a diagnosis
Use R51.9 when the provider documents headache and has not diagnosed a type. Once the note names a migraine, tension-type headache, cluster headache or another syndrome, the diagnosis code is the better fit and the symptom code usually drops off.
The guidelines allow symptom codes when a related definitive diagnosis has not been confirmed by the provider (Section I.B.4). They do not let a coder turn a symptom into a diagnosis. A note that says “headaches, rule out migraine” supports a headache code, not a migraine code. Section IV.H of the same guidelines covers uncertain diagnoses in the outpatient setting, so read it before you code “probable” or “suspected” anything.

If you are building a template or superbill, make R51.9 and R51.0 the symptom choices and place the G43 and G44 families beside them. That prevents the shortest, oldest code from being picked by default.
Migraine ICD-10 codes: G43 and its two extra characters
Migraine codes start at G43, and the billable ones end in a character for intractable status and a character for status migrainosus. A code such as G43.1 is a category, not something you can bill.
Read a full G43 code from left to right. G43.0 is migraine without aura and G43.1 is migraine with aura. The next digit says not intractable (0) or intractable (1). The last digit says with status migrainosus (1) or without (9). So G43.109 means migraine with aura, not intractable, without status migrainosus.
| Migraine type | Not intractable, without status migrainosus | Intractable, without status migrainosus | With status migrainosus |
|---|---|---|---|
| Without aura (G43.0) | G43.009 | G43.019 | G43.001 (not intractable), G43.011 (intractable) |
| With aura (G43.1) | G43.109 | G43.119 | G43.101, G43.111 |
| Hemiplegic (G43.4) | G43.409 | G43.419 | G43.401, G43.411 |
| Chronic, without aura (G43.7) | G43.709 | G43.719 | G43.701, G43.711 |
| Unspecified (G43.9) | G43.909 | G43.919 | G43.901, G43.911 |
Source: public ICD-10-CM code reference (Sprypt, G40-G47 list), cross-checked with icd-10codes.com and CDC/NCHS FY2027 release dates. Confirm each code in your encoder before billing.
Two things to notice. First, G43.019 is migraine without aura that is intractable, without status migrainosus, so it should not be used as the default for ordinary migraine; the not-intractable version is G43.009. Second, the code descriptions treat the terms pharmacoresistant, treatment resistant, refractory (medically) and poorly controlled as equivalent to intractable, so the provider does not need to write the exact word “intractable” (icd-10codes.com, G43).
The category also holds codes for other presentations, including menstrual migraine (G43.82- and G43.83-) and chronic migraine with aura (G43.E-). Chronic migraine with aura is a newer addition, so older cheat sheets and some lookup tools will not list it (AAPC coding alert). G43 also has a use-additional-code note for adverse effects of a drug, using T36 through T50 with a fifth or sixth character of 5.
Do not default to "unspecified" because it is easy
G43.909 is valid when the note says only “migraine”. If the provider is a neurologist or the note describes aura, chronic frequency or hemiplegic symptoms, ask for the type before you submit.
Tension-type and post-traumatic headache codes (G44.2 and G44.3)
Tension-type headache is coded in G44.2 and post-traumatic headache in G44.3. Both end in a character for intractable (1) or not intractable (9), and both split by the type the provider documents.
| Condition | Not intractable | Intractable | Notes |
|---|---|---|---|
| Tension-type, unspecified (G44.20) | G44.209 | G44.201 | Use when the type is not documented |
| Episodic tension-type (G44.21) | G44.219 | G44.211 | Provider must document episodic |
| Chronic tension-type (G44.22) | G44.229 | G44.221 | Provider must document chronic |
| Post-traumatic, unspecified (G44.30) | G44.309 | G44.301 | No acute or chronic stated |
| Acute post-traumatic (G44.31) | G44.319 | G44.311 | Provider must document acute |
| Chronic post-traumatic (G44.32) | G44.329 | G44.321 | Provider must document chronic |
Source: public ICD-10-CM code reference (Sprypt, G40-G47 list), cross-checked with icd-10codes.com and CDC/NCHS FY2027 release dates. Confirm each code in your encoder before billing.
A common error is treating the frequency of visits as the diagnosis. AAPC’s guidance for tension-type headache is to assign episodic or chronic only when the provider documents it, and to use the unspecified code and query the provider when the note is unclear (AAPC coding alert).
Watch the last character. G44.221 and G44.201 are the intractable versions of chronic and unspecified tension-type headache, so they are not the default choice. The not-intractable versions are G44.229 and G44.209.
Cluster, cervicogenic and other headache syndromes
Cluster headache lives in G44.0 and cervicogenic headache is G44.86. The most common mix-up is cluster: G44.01 is episodic cluster headache, and chronic cluster headache is G44.02.
| Condition | Code(s) | Coding note |
|---|---|---|
| Cluster headache syndrome, unspecified (G44.00) | G44.009 not intractable, G44.001 intractable | Use when episodic or chronic is not stated |
| Episodic cluster headache (G44.01) | G44.019, G44.011 | Not the chronic form |
| Chronic cluster headache (G44.02) | G44.029, G44.021 | Do not confuse with G44.01 |
| Cervicogenic headache | G44.86 | No intractable character; billable as written |
| Hypnic headache | G44.81 | Part of G44.8, other specified syndromes |
| Other headache syndrome | G44.89 | Use for a specified syndrome with no code of its own |
| Drug-induced headache, NEC | G44.40 not intractable, G44.41 intractable | Both codes are billable as written |
Source: public ICD-10-CM code reference (Sprypt, G40-G47 list), cross-checked with icd-10codes.com and CDC/NCHS FY2027 release dates. Confirm each code in your encoder before billing.
G44.8 carries an Excludes2 note for headache with an orthostatic component (R51.0), so the two can be reported together only if both are genuinely present (code reference, G44.89). For neck-driven pain more broadly, see our guide to neck pain ICD-10 coding, and for the pain codes that sit near these in a neurology or pain practice see the back pain ICD-10 guide.
What the note must say for each code to hold
The note has to contain the facts that the last characters of the code claim. If it does not, the code is a guess, and a payer or an auditor can treat it as one.
- Type: migraine, tension-type, cluster, post-traumatic, cervicogenic or just “headache”.
- Aura or no aura for migraine, and any chronic, hemiplegic or menstrual description.
- Episodic or chronic, written by the provider, for tension-type, cluster and post-traumatic headache.
- Intractable or not, using the provider’s own wording (refractory and treatment resistant count as intractable in the code titles).
- Status migrainosus stated or ruled out for migraine.
- Cause or trigger where it changes the code, such as a head injury, medication or an orthostatic pattern.
“A diagnosis code should describe what the provider wrote, not what would be the most common finding for that patient.”
A neurology or pain practice sees the same patients return with changing descriptions, so the problem list and the visit note should agree. If the problem list says chronic migraine and the visit note says “headache”, the coder has to choose, and that is where claims drift. Practices that want a second pair of eyes on this can look at how neurology billing is handled by specialty or use a coding audit to sample charts.
How headache coding affects claims and denials
A diagnosis that is invalid, incomplete or unsupported can stop a claim before payment, and a diagnosis that is valid but vague can slow it down when the payer expects specificity for the treatment billed.
There is no single denial rate for headache claims that we can verify, so plan on process, not on a percentage. Three points do most of the work.
- Stop non-billable codes at entry. A claim scrubber or encoder should refuse R51 and G43.1 style stubs. See our guide to clean claims for what a pre-submission check should catch.
- Match the diagnosis to the service. A visit that bills a procedure or an infusion for migraine should carry a migraine code, not R51.9. Coverage rules differ by plan and by Medicare contractor, so check the payer’s policy for the service you bill.
- Keep a denial feedback loop. When a headache claim denies, record the reason and the code that was on the claim, so the pattern shows up. Denial management is where that work belongs.
For the wider picture of how coding choices turn into claim outcomes, CPT, ICD-10 and HCPCS codes explained covers how the three code sets fit on one claim, and medical coding examples shows more worked cases.

Where this leaves a practice
Headache coding is easy to get slightly wrong and hard to notice, because the claim often still pays. The cost shows up later, in audits, in mismatched records and in payers asking for notes. A short reference like this one belongs in the front-end workflow, not on a shelf.
Related reading on how neurology billing works end to end: neurology billing services and common neurology billing challenges. For a chest-symptom parallel where the same symptom-versus-diagnosis rule applies, see chest pain ICD-10 codes.
See how neurology billing handles diagnosis coding
Read how a billing team works through diagnosis coding, charge entry and claim checks for neurology practices.
Our recommendations
- Remove R51 from every template. Replace it with R51.9 and R51.0 in superbills, EHR favorites and cheat sheets so a stub cannot be picked.
- Show the full migraine code, not the family. List G43.909, G43.109, G43.009 and the intractable versions as separate options, with the aura and status migrainosus wording beside each.
- Require the provider to state episodic or chronic. For tension-type, cluster and post-traumatic headache, send a query when the note is silent instead of inferring it.
- Audit the intractable codes first. Pull a sample of claims billed with intractable headache or migraine codes and check that the note supports the word.
- Review codes each October. CDC/NCHS releases a new code set every October 1. Update templates then, and check the April update if one is issued.
- Track denials by diagnosis code. A simple log of denial reason plus the diagnosis on the claim shows a bad pairing within a few weeks.
Bottom line
Use R51.9 or R51.0 for a headache with no diagnosed type, move to the G43 or G44 code as soon as the provider documents one, and never stop at a code that is a category. If your team wants help keeping neurology diagnosis codes clean from charge entry to appeal, our medical billing services and denial management services cover that, and a free practice audit is the quickest way to see where your claims stand.
Frequently asked questions
What is the ICD-10 code for headache?
R51.9 (headache, unspecified) is the code for a headache with no documented type. R51.0 is used for headache with an orthostatic component. R51 on its own is a category and is not billable. If the provider documents migraine or another syndrome, use the G43 or G44 code instead.
Is R51 still valid?
R51 is not valid by itself. It is a category with two billable children, R51.0 and R51.9. A claim that lists R51 alone is incomplete because the guidelines treat a code as invalid if it lacks the characters it requires. Check that your EHR favorites and superbill still do not offer it.
What is the ICD-10 code for migraine?
There is no single migraine code. Migraine sits in G43, and billable codes end with characters for intractable and status migrainosus. For example, G43.909 is migraine, unspecified, not intractable, without status migrainosus, and G43.109 is migraine with aura, not intractable, without status migrainosus.
What does intractable mean in headache codes?
Intractable is the term the code titles use for the more severe, harder-to-treat version of a headache or migraine. The code titles treat pharmacoresistant, treatment resistant, refractory (medically) and poorly controlled as equivalent. The provider’s note must support it, so do not choose intractable on your own.
What is the ICD-10 code for chronic cluster headache?
Chronic cluster headache is G44.02-: G44.029 not intractable and G44.021 intractable. G44.01- is episodic cluster headache. The two are often mixed up in older lists, so check any template that still shows G44.01 as chronic.
Can R51.9 and a migraine code be billed together?
Sometimes. The G43 category has an Excludes2 note for headache NOS (R51.9), which means the conditions can be reported together when the patient has both. Do not add R51.9 just because a migraine patient reports a headache. Report it only when the provider documents a separate headache, and follow payer rules and your coding policy.
Get your free practice audit
Tell us about your practice. We will contact you using the details you give.
- A review of your recent claims, denials and A/R aging
- Where your front desk and prior authorizations slow payment
- A prioritized fix list you keep, whether or not you hire us
Pricing is quoted after the audit, based on your volume and the services you choose. Prefer to talk? Call +1 (302) 556-2288.
Sources
- ICD-10-CM files and effective dates — CDC / NCHS (2026)
- ICD-10-CM Official Guidelines for Coding and Reporting, FY2027 — CDC / NCHS (2026)
- R51 Headache — icd-10codes.com (2026)
- G43 Migraine — icd-10codes.com (2026)
- ICD-10-CM G40-G47 code list — Sprypt
- G44.89 Other headache syndrome — RapidClaims code reference (2026)
- Condition spotlight: learn to differentiate among headache codes — AAPC
- ICD-10 code for headaches not based on examination — American Academy of Ophthalmology
Disclaimer: This article is educational and is not coding, legal or compliance advice, and it does not give medical advice. Code sets change each fiscal year and payer rules vary. Verify every code in the current ICD-10-CM tabular list and your payer's policy before billing.