MoverScout

Who's moving to West Virginia

Where households are arriving from and leaving for, county by county — built on official federal tax-filer data, not marketing estimates.

+874 net households from other states
Arrived from other states
19,973
households, 2022-2023
Left for other states
19,099
households, 2022-2023
Moved within West Virginia
17,680
households changed county, stayed in state

+874 net households — Arrivals from other states and departures to them are close in volume — arrivals edge ahead by 874 households. Five years ago the flow ran the other way — West Virginia was losing households to other states.

Moving in from another state? Your mover needs active interstate operating authority — most local companies don't hold one. See licensed movers in Martinsburg →
Net household change, five years
Every move in or out of West Virginia, including from abroad — so the latest bar can differ slightly from the state-to-state figure above.
-3,073
18–19
-592
19–20
+650
20–21
+493
21–22
+831
22–23
Charleston · Kanawha County: -342 net from other states, 6,644 moved in or out Morgantown · Monongalia County: -218 net from other states, 6,432 moved in or out Huntington · Cabell County: -200 net from other states, 4,746 moved in or out Charles Town · Jefferson County: +680 net from other states, 3,942 moved in or out Parkersburg · Wood County: -101 net from other states, 2,938 moved in or out Teays Valley · Putnam County: -77 net from other states, 2,842 moved in or out Clarksburg · Harrison County: -83 net from other states, 2,662 moved in or out Fairmont · Marion County: +18 net from other states, 2,407 moved in or out Beckley · Raleigh County: -51 net from other states, 2,414 moved in or out Wheeling · Ohio County: -132 net from other states, 1,989 moved in or out Bluefield · Mercer County: -93 net from other states, 1,969 moved in or out Kenova · Wayne County: -50 net from other states, 1,534 moved in or out Oak Hill · Fayette County: +68 net from other states, 1,492 moved in or out Weirton Heights · Hancock County: +69 net from other states, 1,361 moved in or out Lewisburg · Greenbrier County: +32 net from other states, 1,314 moved in or out Moundsville · Marshall County: -84 net from other states, 1,098 moved in or out Keyser · Mineral County: +27 net from other states, 1,064 moved in or out Kingwood · Preston County: +37 net from other states, 1,046 moved in or out Follansbee · Brooke County: -52 net from other states, 1,041 moved in or out Augusta · Hampshire County: +170 net from other states, 1,019 moved in or out Ravenswood · Jackson County: +31 net from other states, 982 moved in or out Berkeley Springs · Morgan County: +95 net from other states, 938 moved in or out Point Pleasant · Mason County: +8 net from other states, 879 moved in or out Elkins · Randolph County: +33 net from other states, 870 moved in or out Buckhannon · Upshur County: -27 net from other states, 769 moved in or out Mount Gay-Shamrock · Logan County: -12 net from other states, 732 moved in or out Summersville · Nicholas County: +18 net from other states, 729 moved in or out Grafton · Taylor County: +9 net from other states, 685 moved in or out Williamson · Mingo County: -13 net from other states, 678 moved in or out Hamlin · Lincoln County: -17 net from other states, 665 moved in or out Philippi · Barbour County: +24 net from other states, 634 moved in or out Madison · Boone County: -18 net from other states, 630 moved in or out Weston · Lewis County: +16 net from other states, 625 moved in or out Moorefield · Hardy County: +53 net from other states, 604 moved in or out New Martinsville · Wetzel County: +15 net from other states, 584 moved in or out Spencer · Roane County: +30 net from other states, 496 moved in or out Peterstown · Monroe County: +8 net from other states, 455 moved in or out Hinton · Summers County: +11 net from other states, 430 moved in or out Mullens · Wyoming County: -9 net from other states, 399 moved in or out Welch · McDowell County: -21 net from other states, 388 moved in or out Petersburg · Grant County: +19 net from other states, 369 moved in or out Paden City · Tyler County: -12 net from other states, 352 moved in or out Sutton · Braxton County: -10 net from other states, 339 moved in or out Marlinton · Pocahontas County: -9 net from other states, 308 moved in or out Harrisville · Ritchie County: -15 net from other states, 296 moved in or out Saint Marys · Pleasants County: -32 net from other states, 275 moved in or out Clay · Clay County: +20 net from other states, 259 moved in or out Parsons · Tucker County: +17 net from other states, 248 moved in or out Glenville · Gilmer County: -3 net from other states, 244 moved in or out Franklin · Pendleton County: -19 net from other states, 219 moved in or out West Union · Doddridge County: +0 net from other states, 224 moved in or out Webster Springs · Webster County: -6 net from other states, 211 moved in or out Grantsville · Calhoun County: +0 net from other states, 167 moved in or out Elizabeth · Wirt County: +0 net from other states, 154 moved in or out Martinsburg · Berkeley County: +1,072 net from other states, 7,684 moved in or out
Every county at a glance.
Gained households from other states
Lost households to other states
Circle size — households that moved in or out.
Martinsburg · Berkeley County — the busiest moving market in West Virginia.
Where West Virginia is gaining from other states
Largest net state-to-state changes by county — same basis as the figures above, top eight only. Each city page adds the in-state picture.
Martinsburg Berkeley County +1,072
#90 of 3,087 U.S. counties for total household growth
Charles Town Jefferson County +680
#219 of 3,087 U.S. counties for total household growth
Augusta Hampshire County +170
#556 of 3,087 U.S. counties for total household growth
Berkeley Springs Morgan County +95
#624 of 3,087 U.S. counties for total household growth
Weirton Heights Hancock County +69
#934 of 3,087 U.S. counties for total household growth
Oak Hill Fayette County +68
#2,060 of 3,087 U.S. counties for total household growth
Moorefield Hardy County +53
#969 of 3,087 U.S. counties for total household growth
Kingwood Preston County +37
#1,454 of 3,087 U.S. counties for total household growth
Where West Virginia is losing to other states
Largest net state-to-state changes by county — same basis as the figures above, top eight only. Each city page adds the in-state picture.
Charleston Kanawha County -342
Morgantown Monongalia County -218
Huntington Cabell County -200
Wheeling Ohio County -132
Parkersburg Wood County -101
Bluefield Mercer County -93
Moundsville Marshall County -84
Clarksburg Harrison County -83
Which states West Virginia trades households with
Each bar shows that state's in/out split — rows ranked by total volume. The IRS publishes only each county's largest partner states, so smaller streams are left out and these totals run below the headline figures.
Virginia +1,123
1,971 in
848 out
Ohio -260
1,217 in
1,477 out
Maryland +815
1,657 in
842 out
Pennsylvania -24
678 in
702 out
Kentucky -121
195 in
316 out
North Carolina -128
128 out

Households arriving in West Virginia from another state report $58,660 in average annual income; those leaving for another state report $61,204. The two groups earn about the same.

Arriving from another state$58,660
Leaving for another state$61,204
City-level breakdowns
Every city page has its own migration section — who's arriving, from how far, and what kind of mover that calls for.

How this works: IRS SOI County-to-County Migration Data, 2022-2023. The IRS compares the address on consecutive tax returns, so every move here is a real filed household. The headline figures and county lists count moves that crossed a state line; the five-year chart counts every move, including from abroad. The data publishes annually with about a two-year lag, misses people who don't file a return, and leaves 52% of moves unattributed to a specific county, because flows too small to publish are grouped into regional buckets. 55 of West Virginia's counties have published data.