West Virginia’s notable local vehicle tax in these official rates is the property-tax levy expressed in mills — city versus unincorporated county. Charleston in Kanawha County is not unincorporated Kanawha. Huntington’s Cabell slice is not its Wayne slice. This guide compares live total mills using the official long location labels and shows dollars on assessed value. Right now the highest total levy in mills is 348.6% in Barboursville in Cabell County, and the lowest is 123.72% in Unincorporated Tucker County. Charleston in Kanawha County (Kanawha) is 321.8%; Huntington – Wayne in Wayne County (Wayne) is 327.64%. If you live in Charleston in Kanawha County (Kanawha) rather than Huntington – Wayne in Wayne County (Wayne), the gap is 5.84 mills, or $87.60 on $15,000 of assessed value in a simplified mills × value ÷ 1,000 illustration. This guide compares 289 localities across 55 counties. Rates are sourced from the West Virginia State Tax Department and county sheriffs and update in real time so a levy change cannot leave a stale percentage in the prose.
Why the locality on the title changes the bill
Situs follows where the vehicle is kept. Annexation or living just outside city limits is the whole game. The official rates duplicates some cities by county; the live rates uses county plus the full location text.
Charleston in Kanawha County (Kanawha) sits at 321.8% while Morgantown in Monongalia County (Monongalia) sits at 263.68%. If you live in Charleston in Kanawha County (Kanawha) instead of Morgantown in Monongalia County (Monongalia), that is 58.12 mills — $871.80 on $15,000 of assessed value in a simplified mills × value ÷ 1,000 illustration. People move this gap around without meaning to: a dealer in a cheaper jurisdiction does not rewrite the sourcing rules. The live comparisons below use the same total property levy (mills) field the calculator uses.
- West Virginia Code Chapter 11 — taxation; levies
- West Virginia State Tax Department — property tax; personal property
- County sheriff tax offices (Kanawha, Cabell, Monongalia, Berkeley, Wood)
- West Virginia DMV — title and registration (separate from millage)
How this state taxes (or fees) a vehicle
W.Va. Code Chapter 11 provides for ad valorem property tax, including Class III/IV personal property such as motor vehicles in many counties. Levies are set in mills by counties, boards of education, and municipalities. The sheriff collects; DMV registration is a separate privilege tax discussion historically (West Virginia has reworked privilege vs property treatment — this guide is the millage export). This article’s live figures use total mills.
Pay personal-property tax to the county sheriff as billed. Keep receipts; some offices want them at registration. Moving from city to unincorporated changes mills.
Highest and lowest rates right now
Among localities currently loaded for West Virginia, the maximum total levy in mills is 348.6% (Barboursville in Cabell County) and the minimum is 123.72% (Unincorporated Tucker County). Those names are live. If a district overtakes the leader next quarter, the sentence updates automatically. On a $25,000 assessed value, the high row is $8,715.00 and the low row is $3,093.00.
Treat a raw maximum with care when official tables include special districts, CID parcels, or vehicle types other than a passenger car. The regional sections below prefer ordinary cities and counties you would actually put on a title. The appendix remains the complete searchable list.
Kanawha Valley
This cluster is where many readers actually live. Charleston in Kanawha County (Kanawha) is 321.8% in the current official rates. The comparisons that follow keep names in the sentence and live amounts in the same sentence.
If the vehicle is taxed in Charleston in Kanawha County (Kanawha) rather than South Charleston in Kanawha County (Kanawha), millage is 321.8% versus 326.96% — a gap of 5.16 mills. On $15,000 of assessed value that is $77.40 a year in this simplified illustration.
Named in this section: Charleston in Kanawha County (Kanawha), South Charleston in Kanawha County (Kanawha). Other rows that belong to the same counties still live in the appendix table.
Example 1: Charleston in Kanawha County (Kanawha) versus South Charleston in Kanawha County (Kanawha)
Scenario: Illustrate $15,000 of assessed value in Charleston in Kanawha County (Kanawha) versus South Charleston in Kanawha County (Kanawha). Your county’s assessment fraction may be lower than sale price; this isolates millage.
Charleston in Kanawha County (Kanawha) millage 321.8% → $4,827.00
South Charleston in Kanawha County (Kanawha) millage 326.96% → $4,904.40
Gap: $77.40
A mill is $1 per $1,000 assessed. Doubling millage doubles this illustration; it does not double statewide sales tax.
Example 2: A cheaper vehicle and a dearer one
Scenario: Same millage, higher assessed value ($25,000) — still Charleston in Kanawha County (Kanawha) versus South Charleston in Kanawha County (Kanawha).
South Charleston in Kanawha County (Kanawha) on $25,000 assessed: $8,174.00
Gap: $129.00
City versus unincorporated millage is why two neighbors on opposite sides of a sign can post different bills.
Huntington, Parkersburg, and the Ohio River
This cluster is where many readers actually live. Huntington – Wayne in Wayne County (Wayne) is 327.64% in the current official rates. The comparisons that follow keep names in the sentence and live amounts in the same sentence.
A move from Parkersburg in Wood County (Wood) to Huntington – Wayne in Wayne County (Wayne) changes the levy from 312.312% to 327.64%. That 15.328 mills millage swing is $229.92 on $15,000 assessed — before any homestead or vehicle-schedule fraction your county applies.
Vienna in Wood County (Wood) levies 309.4%; Weirton – Brooke in Brooke County (Brooke) levies 313.16%. The millage gap is 3.76 mills. At $15,000 assessed, the dollar gap is $56.40 (mills × assessed ÷ 1,000).
From one end of this cluster to the other — Huntington – Wayne in Wayne County (Wayne) versus Wheeling – Ohio in Ohio County (Ohio) — the total levy in mills runs 327.64% against 298.12%, a gap of 29.52 mills or $738.00 on $25,000.
Named in this section: Huntington – Wayne in Wayne County (Wayne), Parkersburg in Wood County (Wood), Vienna in Wood County (Wood), Weirton – Brooke in Brooke County (Brooke), Wheeling – Ohio in Ohio County (Ohio). Other rows that belong to the same counties still live in the appendix table.
Example 1: Huntington – Wayne in Wayne County (Wayne) versus Parkersburg in Wood County (Wood)
Scenario: Illustrate $15,000 of assessed value in Huntington – Wayne in Wayne County (Wayne) versus Parkersburg in Wood County (Wood). Your county’s assessment fraction may be lower than sale price; this isolates millage.
Huntington – Wayne in Wayne County (Wayne) millage 327.64% → $4,914.60
Parkersburg in Wood County (Wood) millage 312.312% → $4,684.68
Gap: $229.92
A mill is $1 per $1,000 assessed. Doubling millage doubles this illustration; it does not double statewide sales tax.
Example 2: A cheaper vehicle and a dearer one
Scenario: Same millage, higher assessed value ($25,000) — still Huntington – Wayne in Wayne County (Wayne) versus Parkersburg in Wood County (Wood).
Parkersburg in Wood County (Wood) on $25,000 assessed: $7,807.80
Gap: $383.20
City versus unincorporated millage is why two neighbors on opposite sides of a sign can post different bills.
North-central and the Eastern Panhandle
This cluster is where many readers actually live. Morgantown in Monongalia County (Monongalia) is 263.68% in the current official rates. The comparisons that follow keep names in the sentence and live amounts in the same sentence.
City limits matter here: Morgantown in Monongalia County (Monongalia) is 263.68% while Fairmont in Marion County (Marion) is 298.48%. If you live in Morgantown in Monongalia County (Monongalia), the illustrated tax on $15,000 assessed is $3,955.20 versus $4,477.20 in Fairmont in Marion County (Marion).
If the vehicle is taxed in Clarksburg in Harrison County (Harrison) rather than Bridgeport in Harrison County (Harrison), millage is 308% versus 304.68% — a gap of 3.32 mills. On $15,000 of assessed value that is $49.80 a year in this simplified illustration.
From one end of this cluster to the other — Morgantown in Monongalia County (Monongalia) versus Martinsburg in Berkeley County (Berkeley) — the total levy in mills runs 263.68% against 311.6%, a gap of 47.92 mills or $1,198.00 on $25,000.
Named in this section: Bridgeport in Harrison County (Harrison), Clarksburg in Harrison County (Harrison), Fairmont in Marion County (Marion), Martinsburg in Berkeley County (Berkeley), Morgantown in Monongalia County (Monongalia). Other rows that belong to the same counties still live in the appendix table.
Example 1: Morgantown in Monongalia County (Monongalia) versus Fairmont in Marion County (Marion)
Scenario: Illustrate $15,000 of assessed value in Morgantown in Monongalia County (Monongalia) versus Fairmont in Marion County (Marion). Your county’s assessment fraction may be lower than sale price; this isolates millage.
Morgantown in Monongalia County (Monongalia) millage 263.68% → $3,955.20
Fairmont in Marion County (Marion) millage 298.48% → $4,477.20
Gap: $522.00
A mill is $1 per $1,000 assessed. Doubling millage doubles this illustration; it does not double statewide sales tax.
Example 2: A cheaper vehicle and a dearer one
Scenario: Same millage, higher assessed value ($25,000) — still Morgantown in Monongalia County (Monongalia) versus Fairmont in Marion County (Marion).
Fairmont in Marion County (Marion) on $25,000 assessed: $7,462.00
Gap: $870.00
City versus unincorporated millage is why two neighbors on opposite sides of a sign can post different bills.
Counties and localities covered here
Current official data covers 55 distinct county/parish labels and 289 total rows. Names, as printed:
Barbour, Berkeley, Boone, Braxton, Brooke, Cabell, Calhoun, Clay, Doddridge, Fayette, Gilmer, Grant, Greenbrier, Hampshire, Hancock, Hardy, Harrison, Jackson, Jefferson, Kanawha, Lewis, Lincoln, Logan, Marion, Marshall, Mason, Mcdowell, Mercer, Mineral, Mingo, Monongalia, Monroe, Morgan, Nicholas, Ohio, Pendleton, Pleasants, Pocahontas, Preston, Putnam, Raleigh, Randolph, Ritchie, Roane, Summers, Taylor, Tucker, Tyler, Upshur, Wayne, Webster, Wetzel, Wirt, Wood, Wyoming.
If a name is long, truncated, or includes a district tag, that is how the official locality is labeled. Look it up in the appendix rather than shortening the official name.
More named comparisons
The regional sections cannot quote every locality. These additional pairs still use live rates and real place names, so you can see how neighbors diverge without scrolling the appendix yet.
A move from Huntington – Wayne in Wayne County (Wayne) to Charleston in Kanawha County (Kanawha) changes the levy from 327.64% to 321.8%. That 5.84 mills millage swing is $146.00 on $25,000 assessed — before any homestead or vehicle-schedule fraction your county applies.
Morgantown in Monongalia County (Monongalia) levies 263.68%; Wheeling – Ohio in Ohio County (Ohio) levies 298.12%. The millage gap is 34.44 mills. At $25,000 assessed, the dollar gap is $861.00 (mills × assessed ÷ 1,000).
A move from Martinsburg in Berkeley County (Berkeley) to Parkersburg in Wood County (Wood) changes the levy from 311.6% to 312.312%. That 0.712 mills millage swing is $17.80 on $25,000 assessed — before any homestead or vehicle-schedule fraction your county applies.
Beckley in Raleigh County (Raleigh) levies 291.6%; Fairmont in Marion County (Marion) levies 298.48%. The millage gap is 6.88 mills. At $25,000 assessed, the dollar gap is $172.00 (mills × assessed ÷ 1,000).
A move from Weirton – Brooke in Brooke County (Brooke) to Clarksburg in Harrison County (Harrison) changes the levy from 313.16% to 308%. That 5.16 mills millage swing is $129.00 on $25,000 assessed — before any homestead or vehicle-schedule fraction your county applies.
South Charleston in Kanawha County (Kanawha) levies 326.96%; Vienna in Wood County (Wood) levies 309.4%. The millage gap is 17.56 mills. At $25,000 assessed, the dollar gap is $439.00 (mills × assessed ÷ 1,000).
A move from Unincorporated (Barbour) to Bridgeport in Harrison County (Harrison) changes the levy from 131.84% to 304.68%. That 172.84 mills millage swing is $4,321.00 on $25,000 assessed — before any homestead or vehicle-schedule fraction your county applies.
Belington in Barbour County (Barbour) levies 180.92%; Junior in Barbour County (Barbour) levies 165.4%. The millage gap is 15.52 mills. At $25,000 assessed, the dollar gap is $388.00 (mills × assessed ÷ 1,000).
A move from Unincorporated (Berkeley) to Philippi in Barbour County (Barbour) changes the levy from 243.16% to 180%. That 63.16 mills millage swing is $1,579.00 on $25,000 assessed — before any homestead or vehicle-schedule fraction your county applies.
Hedgesville in Berkeley County (Berkeley) levies 267.12%; Unincorporated (Boone) levies 250.48%. The millage gap is 16.64 mills. At $25,000 assessed, the dollar gap is $416.00 (mills × assessed ÷ 1,000).
A move from Madison in Boone County (Boone) to Danville in Boone County (Boone) changes the levy from 325.48% to 322.32%. That 3.16 mills millage swing is $79.00 on $25,000 assessed — before any homestead or vehicle-schedule fraction your county applies.
Sylvester in Boone County (Boone) levies 298%; Whitesville in Boone County (Boone) levies 300.48%. The millage gap is 2.48 mills. At $25,000 assessed, the dollar gap is $62.00 (mills × assessed ÷ 1,000).
A longer tour of named places
One more pass across named places, still in comparison sentences, still live:
Unincorporated (Barbour) levies 131.84%; Belington in Barbour County (Barbour) levies 180.92%. The millage gap is 49.08 mills. At $15,000 assessed, the dollar gap is $736.20 (mills × assessed ÷ 1,000).
A move from Philippi in Barbour County (Barbour) to Junior in Barbour County (Barbour) changes the levy from 180% to 165.4%. That 14.6 mills millage swing is $219.00 on $15,000 assessed — before any homestead or vehicle-schedule fraction your county applies.
Unincorporated (Berkeley) levies 243.16%; Hedgesville in Berkeley County (Berkeley) levies 267.12%. The millage gap is 23.96 mills. At $15,000 assessed, the dollar gap is $359.40 (mills × assessed ÷ 1,000).
A move from Unincorporated (Boone) to Martinsburg in Berkeley County (Berkeley) changes the levy from 250.48% to 311.6%. That 61.12 mills millage swing is $916.80 on $15,000 assessed — before any homestead or vehicle-schedule fraction your county applies.
Danville in Boone County (Boone) levies 322.32%; Madison in Boone County (Boone) levies 325.48%. The millage gap is 3.16 mills. At $15,000 assessed, the dollar gap is $47.40 (mills × assessed ÷ 1,000).
A move from Whitesville in Boone County (Boone) to Sylvester in Boone County (Boone) changes the levy from 300.48% to 298%. That 2.48 mills millage swing is $37.20 on $15,000 assessed — before any homestead or vehicle-schedule fraction your county applies.
Unincorporated (Braxton) levies 153.8%; Burnsville in Braxton County (Braxton) levies 203.8%. The millage gap is 50 mills. At $15,000 assessed, the dollar gap is $750.00 (mills × assessed ÷ 1,000).
A move from Gassaway in Braxton County (Braxton) to Flatwoods in Braxton County (Braxton) changes the levy from 203.8% to 203.8%. That 0 mills millage swing is $0.00 on $15,000 assessed — before any homestead or vehicle-schedule fraction your county applies.
Sutton in Braxton County (Braxton) levies 203.8%; Unincorporated (Brooke) levies 263.16%. The millage gap is 59.36 mills. At $15,000 assessed, the dollar gap is $890.40 (mills × assessed ÷ 1,000).
A move from Bethany in Brooke County (Brooke) to Beech Bottom in Brooke County (Brooke) changes the levy from 313.16% to 312%. That 1.16 mills millage swing is $17.40 on $15,000 assessed — before any homestead or vehicle-schedule fraction your county applies.
Follansbee in Brooke County (Brooke) levies 313.16%; Weirton – Brooke in Brooke County (Brooke) levies 313.16%. The millage gap is 0 mills. At $15,000 assessed, the dollar gap is $0.00 (mills × assessed ÷ 1,000).
A move from Windsor Heights in Brooke County (Brooke) to Wellsburg in Brooke County (Brooke) changes the levy from 312.84% to 313.16%. That 0.32 mills millage swing is $4.80 on $15,000 assessed — before any homestead or vehicle-schedule fraction your county applies.
Unincorporated (Cabell) levies 273.6%; Barboursville in Cabell County (Cabell) levies 348.6%. The millage gap is 75 mills. At $15,000 assessed, the dollar gap is $1,125.00 (mills × assessed ÷ 1,000).
A move from Milton in Cabell County (Cabell) to Huntington – Cabell in Cabell County (Cabell) changes the levy from 323.6% to 337.6%. That 14 mills millage swing is $210.00 on $15,000 assessed — before any homestead or vehicle-schedule fraction your county applies.
Unincorporated (Calhoun) levies 184.176%; Grantsville in Calhoun County (Calhoun) levies 234.176%. The millage gap is 50 mills. At $15,000 assessed, the dollar gap is $750.00 (mills × assessed ÷ 1,000).
A move from Clay in Clay County (Clay) to Unincorporated (Clay) changes the levy from 231.76% to 191.56%. That 40.2 mills millage swing is $603.00 on $15,000 assessed — before any homestead or vehicle-schedule fraction your county applies.
Unincorporated (Doddridge) levies 236.6%; West Union in Doddridge County (Doddridge) levies 285.64%. The millage gap is 49.04 mills. At $15,000 assessed, the dollar gap is $735.60 (mills × assessed ÷ 1,000).
A move from Ansted in Fayette County (Fayette) to Unincorporated (Fayette) changes the levy from 297% to 247%. That 50 mills millage swing is $750.00 on $15,000 assessed — before any homestead or vehicle-schedule fraction your county applies.
Further comparisons (set 2)
Same places, different pairings, still using live rates:
If the vehicle is taxed in Belington in Barbour County (Barbour) rather than Junior in Barbour County (Barbour), millage is 180.92% versus 165.4% — a gap of 15.52 mills. On $25,000 of assessed value that is $388.00 a year in this simplified illustration.
City limits matter here: Philippi in Barbour County (Barbour) is 180% while Unincorporated (Berkeley) is 243.16%. If you live in Philippi in Barbour County (Barbour), the illustrated tax on $25,000 assessed is $4,500.00 versus $6,079.00 in Unincorporated (Berkeley).
If the vehicle is taxed in Hedgesville in Berkeley County (Berkeley) rather than Martinsburg in Berkeley County (Berkeley), millage is 267.12% versus 311.6% — a gap of 44.48 mills. On $25,000 of assessed value that is $1,112.00 a year in this simplified illustration.
City limits matter here: Unincorporated (Boone) is 250.48% while Danville in Boone County (Boone) is 322.32%. If you live in Unincorporated (Boone), the illustrated tax on $25,000 assessed is $6,262.00 versus $8,058.00 in Danville in Boone County (Boone).
If the vehicle is taxed in Madison in Boone County (Boone) rather than Sylvester in Boone County (Boone), millage is 325.48% versus 298% — a gap of 27.48 mills. On $25,000 of assessed value that is $687.00 a year in this simplified illustration.
City limits matter here: Whitesville in Boone County (Boone) is 300.48% while Unincorporated (Braxton) is 153.8%. If you live in Whitesville in Boone County (Boone), the illustrated tax on $25,000 assessed is $7,512.00 versus $3,845.00 in Unincorporated (Braxton).
If the vehicle is taxed in Burnsville in Braxton County (Braxton) rather than Flatwoods in Braxton County (Braxton), millage is 203.8% versus 203.8% — a gap of 0 mills. On $25,000 of assessed value that is $0.00 a year in this simplified illustration.
City limits matter here: Gassaway in Braxton County (Braxton) is 203.8% while Sutton in Braxton County (Braxton) is 203.8%. If you live in Gassaway in Braxton County (Braxton), the illustrated tax on $25,000 assessed is $5,095.00 versus $5,095.00 in Sutton in Braxton County (Braxton).
If the vehicle is taxed in Unincorporated (Brooke) rather than Beech Bottom in Brooke County (Brooke), millage is 263.16% versus 312% — a gap of 48.84 mills. On $25,000 of assessed value that is $1,221.00 a year in this simplified illustration.
City limits matter here: Bethany in Brooke County (Brooke) is 313.16% while Follansbee in Brooke County (Brooke) is 313.16%. If you live in Bethany in Brooke County (Brooke), the illustrated tax on $25,000 assessed is $7,829.00 versus $7,829.00 in Follansbee in Brooke County (Brooke).
If the vehicle is taxed in Weirton – Brooke in Brooke County (Brooke) rather than Wellsburg in Brooke County (Brooke), millage is 313.16% versus 313.16% — a gap of 0 mills. On $25,000 of assessed value that is $0.00 a year in this simplified illustration.
City limits matter here: Windsor Heights in Brooke County (Brooke) is 312.84% while Unincorporated (Cabell) is 273.6%. If you live in Windsor Heights in Brooke County (Brooke), the illustrated tax on $25,000 assessed is $7,821.00 versus $6,840.00 in Unincorporated (Cabell).
Two complete examples
These two walk-throughs use the same live rate as the regional boxes. They are not a substitute for a clerk’s calculator, but they show the arithmetic behind the live dollar figures.
Complete example A: $15,000 in Charleston in Kanawha County (Kanawha)
Scenario: Taxable or assessed amount $15,000 in Charleston in Kanawha County (Kanawha).
Total levy in mills 321.8%
Result: $4,827.00
Same amount in Huntington – Wayne in Wayne County (Wayne) (327.64%): $4,914.60
Gap: $87.60
This is the local (or combined) rate line only.
Complete example B: $25,000 in Huntington – Wayne in Wayne County (Wayne)
Scenario: Step the amount to $25,000 and keep the same two places.
Charleston in Kanawha County (Kanawha): $8,045.00
Gap: $146.00
Percentage and millage gaps scale with the base. Flat-fee states in this series do not.
What these rates do not include
DMV title fees, sales tax on the purchase (statewide), and any remaining privilege-tax remnants are not the millage rates compared here.
- West Virginia Code Chapter 11 — taxation; levies
- West Virginia State Tax Department — property tax; personal property
- County sheriff tax offices (Kanawha, Cabell, Monongalia, Berkeley, Wood)
- West Virginia DMV — title and registration (separate from millage)
Common questions
Huntington is in two counties. Which row? Cabell vs Wayne — use the county your address sits in. The location label includes the county.
Is this sales tax at the dealer? No. Dealer sales tax is statewide. This official rates is property levy mills.
Can I trust a screenshot of this article in six months? Trust the live rates on this page, not a PDF. Highest and lowest names update when official rates change.
What if a rate shows as unavailable? The locality name may not match official spelling. Search the appendix and use the official city or county label.
Does a dealer in the cheap locality save me money? Almost never, if sourcing follows residence or first use. Charleston in Kanawha County (Kanawha) still pays 321.8% when that is where the vehicle belongs.
How these rates stay current
Every rate and dollar amount in this article is pulled live from current official data used by the West Virginia State Tax Department and county sheriffs. When an official levy changes, the figures on this page update in real time. Highest and lowest locality names also update automatically.
This is an educational estimator, not a clerk’s receipt. Effective dates, exemptions, trade-in rules, and assessment fractions can be more precise than a single combined rate. When you title, the state’s collecting office is the authority.
Appendix: searchable rate table
Use this as a search box, not as a substitute for the comparisons above. Filter by city, county, or location name.
| Location | County | Total levy (mills) |
|---|---|---|
| Unincorporated Barbour County | Barbour | 131.84 mills |
| Belington in Barbour County | Barbour | 180.92 mills |
| Junior in Barbour County | Barbour | 165.4 mills |
| Philippi in Barbour County | Barbour | 180 mills |
| Unincorporated Berkeley County | Berkeley | 243.16 mills |
| Hedgesville in Berkeley County | Berkeley | 267.12 mills |
| Martinsburg in Berkeley County | Berkeley | 311.6 mills |
| Unincorporated Boone County | Boone | 250.48 mills |
| Danville in Boone County | Boone | 322.32 mills |
| Madison in Boone County | Boone | 325.48 mills |
| Sylvester in Boone County | Boone | 298 mills |
| Whitesville in Boone County | Boone | 300.48 mills |
| Unincorporated Braxton County | Braxton | 153.8 mills |
| Burnsville in Braxton County | Braxton | 203.8 mills |
| Flatwoods in Braxton County | Braxton | 203.8 mills |
| Gassaway in Braxton County | Braxton | 203.8 mills |
| Sutton in Braxton County | Braxton | 203.8 mills |
| Unincorporated Brooke County | Brooke | 263.16 mills |
| Beech Bottom in Brooke County | Brooke | 312 mills |
| Bethany in Brooke County | Brooke | 313.16 mills |
| Follansbee in Brooke County | Brooke | 313.16 mills |
| Weirton - Brooke in Brooke County | Brooke | 313.16 mills |
| Wellsburg in Brooke County | Brooke | 313.16 mills |
| Windsor Heights in Brooke County | Brooke | 312.84 mills |
| Unincorporated Cabell County | Cabell | 273.6 mills |
| Barboursville in Cabell County | Cabell | 348.6 mills |
| Huntington - Cabell in Cabell County | Cabell | 337.6 mills |
| Milton in Cabell County | Cabell | 323.6 mills |
| Unincorporated Calhoun County | Calhoun | 184.176 mills |
| Grantsville in Calhoun County | Calhoun | 234.176 mills |
| Unincorporated Clay County | Clay | 191.56 mills |
| Clay in Clay County | Clay | 231.76 mills |
| Unincorporated Doddridge County | Doddridge | 236.6 mills |
| West Union in Doddridge County | Doddridge | 285.64 mills |
| Unincorporated Fayette County | Fayette | 247 mills |
| Ansted in Fayette County | Fayette | 297 mills |
| Fayetteville in Fayette County | Fayette | 316.88 mills |
| Gauley Bridge in Fayette County | Fayette | 297 mills |
| Meadow Bridge in Fayette County | Fayette | 296.16 mills |
| Montgomery - Fayette in Fayette County | Fayette | 322 mills |
| Mount Hope in Fayette County | Fayette | 322 mills |
| Oak Hill in Fayette County | Fayette | 296.56 mills |
| Pax in Fayette County | Fayette | 296.76 mills |
| Smithers - Fayette in Fayette County | Fayette | 321 mills |
| Thurmond in Fayette County | Fayette | 297 mills |
| Unincorporated Gilmer County | Gilmer | 185.84 mills |
| Glenville in Gilmer County | Gilmer | 260.84 mills |
| Sand Fork in Gilmer County | Gilmer | 231 mills |
| Unincorporated Grant County | Grant | 155.6 mills |
| Bayard in Grant County | Grant | 205.6 mills |
| Petersburg in Grant County | Grant | 223.56 mills |
| Unincorporated Greenbrier County | Greenbrier | 185.4 mills |
| Alderson - Greenbrier in Greenbrier County | Greenbrier | 260.16 mills |
| Falling Springs in Greenbrier County | Greenbrier | 235.4 mills |
| Lewisburg in Greenbrier County | Greenbrier | 260.32 mills |
| Quinwood in Greenbrier County | Greenbrier | 235.28 mills |
| Rainelle in Greenbrier County | Greenbrier | 235.4 mills |
| Ronceverte in Greenbrier County | Greenbrier | 260.4 mills |
| Rupert in Greenbrier County | Greenbrier | 235.4 mills |
| White Sulphur Springs in Greenbrier County | Greenbrier | 235.4 mills |
| Unincorporated Hampshire County | Hampshire | 169.48 mills |
| Capon Bridge in Hampshire County | Hampshire | 217.76 mills |
| Romney in Hampshire County | Hampshire | 219.48 mills |
| Unincorporated Hancock County | Hancock | 267.6 mills |
| Chester in Hancock County | Hancock | 317.6 mills |
| New Cumberland in Hancock County | Hancock | 342.6 mills |
| Weirton - Hancock in Hancock County | Hancock | 317.6 mills |
| Unincorporated Hardy County | Hardy | 153.84 mills |
| Moorefield in Hardy County | Hardy | 228.84 mills |
| Wardensville in Hardy County | Hardy | 202.44 mills |
| Unincorporated Harrison County | Harrison | 233 mills |
| Anmoore in Harrison County | Harrison | 283 mills |
| Bridgeport in Harrison County | Harrison | 304.68 mills |
| Clarksburg in Harrison County | Harrison | 308 mills |
| Lost Creek in Harrison County | Harrison | 283 mills |
| Lumberport in Harrison County | Harrison | 281.4 mills |
| Nutter Fort in Harrison County | Harrison | 308 mills |
| Salem in Harrison County | Harrison | 283 mills |
| Shinnston in Harrison County | Harrison | 308 mills |
| Stonewood in Harrison County | Harrison | 308 mills |
| West Milford in Harrison County | Harrison | 283 mills |
| Unincorporated Jackson County | Jackson | 249.24 mills |
| Ravenswood in Jackson County | Jackson | 299.24 mills |
| Ripley in Jackson County | Jackson | 299.24 mills |
| Unincorporated Jefferson County | Jefferson | 232.4 mills |
| Bolivar in Jefferson County | Jefferson | 258.24 mills |
| Charles Town in Jefferson County | Jefferson | 277.76 mills |
| Harpers Ferry in Jefferson County | Jefferson | 256.36 mills |
| Ranson in Jefferson County | Jefferson | 279.96 mills |
| Shepherdstown in Jefferson County | Jefferson | 267 mills |
| Unincorporated Kanawha County | Kanawha | 251.96 mills |
| Belle in Kanawha County | Kanawha | 301.96 mills |
| Cedar Grove in Kanawha County | Kanawha | 301.96 mills |
| Charleston in Kanawha County | Kanawha | 321.8 mills |
| Chesapeake in Kanawha County | Kanawha | 301.96 mills |
| Clendenin in Kanawha County | Kanawha | 301.96 mills |
| Dunbar in Kanawha County | Kanawha | 326.96 mills |
| East Bank in Kanawha County | Kanawha | 301.96 mills |
| Glasgow in Kanawha County | Kanawha | 301.96 mills |
| Handley in Kanawha County | Kanawha | 301.96 mills |
| Marmet in Kanawha County | Kanawha | 301.96 mills |
| Montgomery - Kanawha in Kanawha County | Kanawha | 326.96 mills |
| Nitro - Kanawha in Kanawha County | Kanawha | 316.32 mills |
| Pratt in Kanawha County | Kanawha | 301.96 mills |
| Saint Albans in Kanawha County | Kanawha | 326.96 mills |
| Smithers - Kanawha in Kanawha County | Kanawha | 325.96 mills |
| South Charleston in Kanawha County | Kanawha | 326.96 mills |
| Unincorporated Lewis County | Lewis | 189.8 mills |
| Jane Lew in Lewis County | Lewis | 239.72 mills |
| Weston in Lewis County | Lewis | 239.8 mills |
| Unincorporated Lincoln County | Lincoln | 246.2 mills |
| Hamlin in Lincoln County | Lincoln | 296.2 mills |
| West Hamlin in Lincoln County | Lincoln | 283.8 mills |
| Unincorporated Logan County | Logan | 231.2 mills |
| Chapmanville in Logan County | Logan | 281.2 mills |
| Logan in Logan County | Logan | 281.2 mills |
| Man in Logan County | Logan | 277.8 mills |
| Mitchell Heights in Logan County | Logan | 281.2 mills |
| West Logan in Logan County | Logan | 280.88 mills |
| Unincorporated Marion County | Marion | 248.48 mills |
| Barrackville in Marion County | Marion | 297.2 mills |
| Fairmont in Marion County | Marion | 298.48 mills |
| Fairview in Marion County | Marion | 298.48 mills |
| Farmington in Marion County | Marion | 288.28 mills |
| Grant Town in Marion County | Marion | 298.48 mills |
| Mannington in Marion County | Marion | 295.8 mills |
| Monongah in Marion County | Marion | 298.48 mills |
| Pleasant Valley in Marion County | Marion | 262.24 mills |
| Rivesville in Marion County | Marion | 298.48 mills |
| White Hall in Marion County | Marion | 272.48 mills |
| Worthington in Marion County | Marion | 295.68 mills |
| Unincorporated Marshall County | Marshall | 198.36 mills |
| Benwood in Marshall County | Marshall | 264.9 mills |
| Cameron in Marshall County | Marshall | 246.8 mills |
| Glen Dale in Marshall County | Marshall | 248.36 mills |
| Mc Mechen in Marshall County | Marshall | 268.24 mills |
| Moundsville in Marshall County | Marshall | 248.16 mills |
| Wheeling - Marshall in Marshall County | Marshall | 264.68 mills |
| Unincorporated Mason County | Mason | 236.6 mills |
| Hartford in Mason County | Mason | 285.08 mills |
| Leon in Mason County | Mason | 286.08 mills |
| Mason in Mason County | Mason | 279.6 mills |
| New Haven in Mason County | Mason | 284.76 mills |
| Point Pleasant in Mason County | Mason | 286 mills |
| Unincorporated Mcdowell County | Mcdowell | 227.6 mills |
| Anawalt in Mcdowell County | Mcdowell | 273.44 mills |
| Bradshaw in Mcdowell County | Mcdowell | 277.6 mills |
| Davy in Mcdowell County | Mcdowell | 252.12 mills |
| Gary in Mcdowell County | Mcdowell | 277.6 mills |
| Iaeger in Mcdowell County | Mcdowell | 277.6 mills |
| Keystone in Mcdowell County | Mcdowell | 264.16 mills |
| Kimball in Mcdowell County | Mcdowell | 277.6 mills |
| Northfork in Mcdowell County | Mcdowell | 277.6 mills |
| War in Mcdowell County | Mcdowell | 277.6 mills |
| Welch in Mcdowell County | Mcdowell | 302.6 mills |
| Unincorporated Mercer County | Mercer | 226.64 mills |
| Athens in Mercer County | Mercer | 276.64 mills |
| Bluefield in Mercer County | Mercer | 276.64 mills |
| Bramwell in Mercer County | Mercer | 272.08 mills |
| Oakvale in Mercer County | Mercer | 276.64 mills |
| Princeton in Mercer County | Mercer | 274.76 mills |
| Unincorporated Mineral County | Mineral | 238.76 mills |
| Carpendale in Mineral County | Mineral | 288.76 mills |
| Elk Garden in Mineral County | Mineral | 288.76 mills |
| Keyser in Mineral County | Mineral | 313.76 mills |
| Piedmont in Mineral County | Mineral | 313.76 mills |
| Ridgeley in Mineral County | Mineral | 288.76 mills |
| Unincorporated Mingo County | Mingo | 227.6 mills |
| Delbarton in Mingo County | Mingo | 273.6 mills |
| Gilbert in Mingo County | Mingo | 277.6 mills |
| Kermit in Mingo County | Mingo | 277.6 mills |
| Matewan in Mingo County | Mingo | 277.6 mills |
| Williamson in Mingo County | Mingo | 297.6 mills |
| Unincorporated Monongalia County | Monongalia | 213.68 mills |
| Blacksville in Monongalia County | Monongalia | 263.68 mills |
| Granville in Monongalia County | Monongalia | 263.68 mills |
| Morgantown in Monongalia County | Monongalia | 263.68 mills |
| Star City in Monongalia County | Monongalia | 263.68 mills |
| Westover in Monongalia County | Monongalia | 263.68 mills |
| Unincorporated Monroe County | Monroe | 211.56 mills |
| Alderson - Monroe in Monroe County | Monroe | 286.32 mills |
| Peterstown in Monroe County | Monroe | 261.56 mills |
| Union in Monroe County | Monroe | 261.56 mills |
| Unincorporated Morgan County | Morgan | 198.84 mills |
| Bath in Morgan County | Morgan | 248.84 mills |
| Paw Paw in Morgan County | Morgan | 248.28 mills |
| Unincorporated Nicholas County | Nicholas | 196.36 mills |
| Richwood in Nicholas County | Nicholas | 271.36 mills |
| Summersville in Nicholas County | Nicholas | 246.36 mills |
| Unincorporated Ohio County | Ohio | 231.8 mills |
| Bethlehem in Ohio County | Ohio | 298.04 mills |
| Clearview in Ohio County | Ohio | 281.8 mills |
| Triadelphia in Ohio County | Ohio | 281.8 mills |
| Valley Grove in Ohio County | Ohio | 281.8 mills |
| West Liberty in Ohio County | Ohio | 267.32 mills |
| Wheeling - Ohio in Ohio County | Ohio | 298.12 mills |
| Unincorporated Pendleton County | Pendleton | 135.8 mills |
| Franklin in Pendleton County | Pendleton | 185.8 mills |
| Unincorporated Pleasants County | Pleasants | 241.08 mills |
| Belmont in Pleasants County | Pleasants | 291.08 mills |
| St. Marys in Pleasants County | Pleasants | 310.68 mills |
| Unincorporated Pocahontas County | Pocahontas | 126 mills |
| Durbin in Pocahontas County | Pocahontas | 176 mills |
| Hillsboro in Pocahontas County | Pocahontas | 175.12 mills |
| Marlinton in Pocahontas County | Pocahontas | 173.44 mills |
| Unincorporated Preston County | Preston | 154.2 mills |
| Albright in Preston County | Preston | 179.8 mills |
| Brandonville in Preston County | Preston | 192.96 mills |
| Bruceton Mills in Preston County | Preston | 204.2 mills |
| Kingwood in Preston County | Preston | 229.2 mills |
| Masontown in Preston County | Preston | 204.2 mills |
| Newburg in Preston County | Preston | 204.2 mills |
| Reedsville in Preston County | Preston | 204.2 mills |
| Rowlesburg in Preston County | Preston | 204.2 mills |
| Tunnelton in Preston County | Preston | 204.2 mills |
| Unincorporated Putnam County | Putnam | 252.84 mills |
| Bancroft in Putnam County | Putnam | 302.76 mills |
| Buffalo in Putnam County | Putnam | 302.84 mills |
| Eleanor in Putnam County | Putnam | 302.72 mills |
| Hurricane in Putnam County | Putnam | 327.84 mills |
| Nitro - Putnam in Putnam County | Putnam | 317.2 mills |
| Poca in Putnam County | Putnam | 302.28 mills |
| Winfield in Putnam County | Putnam | 299.16 mills |
| Unincorporated Raleigh County | Raleigh | 241.6 mills |
| Beckley in Raleigh County | Raleigh | 291.6 mills |
| Lester in Raleigh County | Raleigh | 288.8 mills |
| Mabscott in Raleigh County | Raleigh | 291.2 mills |
| Sophia in Raleigh County | Raleigh | 291.6 mills |
| Unincorporated Randolph County | Randolph | 135.8 mills |
| Beverly in Randolph County | Randolph | 173.12 mills |
| Elkins in Randolph County | Randolph | 185.8 mills |
| Harman in Randolph County | Randolph | 185.8 mills |
| Huttonsville in Randolph County | Randolph | 185.8 mills |
| Mill Creek in Randolph County | Randolph | 185.28 mills |
| Montrose in Randolph County | Randolph | 185.8 mills |
| Womelsdorff in Randolph County | Randolph | 185.8 mills |
| Unincorporated Ritchie County | Ritchie | 222.88 mills |
| Auburn in Ritchie County | Ritchie | 272.88 mills |
| Cairo in Ritchie County | Ritchie | 295.12 mills |
| Ellenboro in Ritchie County | Ritchie | 272.88 mills |
| Harrisville in Ritchie County | Ritchie | 297.88 mills |
| Pennsboro in Ritchie County | Ritchie | 297.88 mills |
| Pullman in Ritchie County | Ritchie | 272.68 mills |
| Unincorporated Roane County | Roane | 175.76 mills |
| Reedy in Roane County | Roane | 225.76 mills |
| Spencer in Roane County | Roane | 225.76 mills |
| Unincorporated Summers County | Summers | 135.8 mills |
| Hinton in Summers County | Summers | 209.52 mills |
| Unincorporated Taylor County | Taylor | 218.06 mills |
| Flemington in Taylor County | Taylor | 268.06 mills |
| Grafton in Taylor County | Taylor | 276.7 mills |
| Unincorporated Tucker County | Tucker | 123.72 mills |
| Davis in Tucker County | Tucker | 158 mills |
| Hambleton in Tucker County | Tucker | 164.12 mills |
| Hendricks in Tucker County | Tucker | 167.32 mills |
| Parsons in Tucker County | Tucker | 165.6 mills |
| Thomas in Tucker County | Tucker | 158.36 mills |
| Unincorporated Tyler County | Tyler | 219.04 mills |
| Friendly in Tyler County | Tyler | 269.04 mills |
| Middlebourne in Tyler County | Tyler | 272.8 mills |
| Paden City - Tyler in Tyler County | Tyler | 269.04 mills |
| Sistersville in Tyler County | Tyler | 294.04 mills |
| Unincorporated Upshur County | Upshur | 135.8 mills |
| Buckhannon in Upshur County | Upshur | 191.52 mills |
| Unincorporated Wayne County | Wayne | 263.64 mills |
| Ceredo in Wayne County | Wayne | 338.64 mills |
| Fort Gay in Wayne County | Wayne | 313.64 mills |
| Huntington - Wayne in Wayne County | Wayne | 327.64 mills |
| Kenova in Wayne County | Wayne | 338.64 mills |
| Wayne in Wayne County | Wayne | 313.64 mills |
| Unincorporated Webster County | Webster | 135.8 mills |
| Cowen in Webster County | Webster | 185.8 mills |
| Webster Springs in Webster County | Webster | 185.8 mills |
| Unincorporated Wetzel County | Wetzel | 229.44 mills |
| Hundred in Wetzel County | Wetzel | 279.44 mills |
| New Martinsville in Wetzel County | Wetzel | 279.44 mills |
| Paden City - Wetzel in Wetzel County | Wetzel | 279.44 mills |
| Pine Grove in Wetzel County | Wetzel | 279.44 mills |
| Unincorporated Wirt County | Wirt | 243.04 mills |
| Elizabeth in Wirt County | Wirt | 293.04 mills |
| Unincorporated Wood County | Wood | 237.32 mills |
| North Hills in Wood County | Wood | 286.04 mills |
| Parkersburg in Wood County | Wood | 312.312 mills |
| Vienna in Wood County | Wood | 309.4 mills |
| Williamstown in Wood County | Wood | 287.32 mills |
| Unincorporated Wyoming County | Wyoming | 248.4 mills |
| Mullens in Wyoming County | Wyoming | 300.24 mills |
| Oceana in Wyoming County | Wyoming | 319.36 mills |
| Pineville in Wyoming County | Wyoming | 320.6 mills |
Conclusion
West Virginia does not have one vehicle-tax number. Charleston in Kanawha County (Kanawha) is 321.8%; Huntington – Wayne in Wayne County (Wayne) is 327.64%; the live high is 348.6% and the live low is 123.72%. If you live in the high place, you feel it on $15,000 of assessed value in a simplified mills × value ÷ 1,000 illustration; if you live in the low place, you still owe whatever statewide tax or fee the statutes below impose. Walk the region that matches your address, then confirm the live row in the appendix before you sign.
- Complete reference list
- West Virginia Code Chapter 11 — taxation; levies
- West Virginia State Tax Department — property tax; personal property
- County sheriff tax offices (Kanawha, Cabell, Monongalia, Berkeley, Wood)
- West Virginia DMV — title and registration (separate from millage)
This guide is an educational estimator. It is not legal, tax, or DMV advice. Figures shown inline are sourced from the West Virginia State Tax Department and county sheriffs and related official rate data, update in real time, and can change when a locality’s levy changes. Confirm amounts with the collecting agency cited above before you pay.