MoverScout

Who's moving to Ohio

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

549,706 households moved in or out · #9 busiest moving market in the U.S.
Arrived from other states
91,927
households, 2022-2023
Left for other states
99,755
households, 2022-2023
Moved within Ohio
177,761
households changed county, stayed in state

-7,828 net households — Arrivals from other states and departures to them are close in volume — departures edge ahead by 7,828 households. The pace has held steady over five years. Another 973 households arrived from abroad.

Moving in from another state? Your mover needs active interstate operating authority — most local companies don't hold one. See licensed movers in Columbus →
Net household change, five years
Every move in or out of Ohio, including from abroad — so the latest bar can differ slightly from the state-to-state figure above.
-9,677
18–19
-7,097
19–20
-6,075
20–21
-8,006
21–22
-8,384
22–23
Cleveland · Cuyahoga County: -1,356 net from other states, 47,127 moved in or out Cincinnati · Hamilton County: -1,206 net from other states, 39,425 moved in or out Dayton · Montgomery County: -190 net from other states, 25,916 moved in or out Akron · Summit County: -678 net from other states, 24,762 moved in or out Hamilton · Butler County: -126 net from other states, 19,637 moved in or out Toledo · Lucas County: -605 net from other states, 15,965 moved in or out Delaware · Delaware County: -281 net from other states, 15,902 moved in or out Mason · Warren County: -414 net from other states, 15,638 moved in or out Canton · Stark County: -217 net from other states, 13,540 moved in or out Lorain · Lorain County: -179 net from other states, 13,175 moved in or out Beavercreek · Greene County: +43 net from other states, 12,496 moved in or out Goshen · Clermont County: -31 net from other states, 11,721 moved in or out Lancaster · Fairfield County: -18 net from other states, 10,341 moved in or out Mentor · Lake County: -212 net from other states, 10,001 moved in or out Brunswick · Medina County: -269 net from other states, 9,606 moved in or out Kent · Portage County: -204 net from other states, 9,717 moved in or out Newark · Licking County: -93 net from other states, 9,588 moved in or out Youngstown · Mahoning County: +99 net from other states, 9,030 moved in or out Bowling Green · Wood County: -138 net from other states, 8,557 moved in or out Warren · Trumbull County: +139 net from other states, 7,760 moved in or out Springfield · Clark County: -46 net from other states, 5,592 moved in or out Troy · Miami County: -57 net from other states, 5,597 moved in or out Mansfield · Richland County: -73 net from other states, 4,930 moved in or out Marysville · Union County: +38 net from other states, 4,661 moved in or out Wooster · Wayne County: -113 net from other states, 4,686 moved in or out Chardon · Geauga County: -138 net from other states, 4,546 moved in or out Lima · Allen County: -68 net from other states, 4,353 moved in or out Sandusky · Erie County: -108 net from other states, 3,932 moved in or out Findlay · Hancock County: -108 net from other states, 3,884 moved in or out Salem · Columbiana County: +10 net from other states, 3,666 moved in or out Circleville · Pickaway County: -32 net from other states, 3,580 moved in or out Ashtabula · Ashtabula County: +58 net from other states, 3,305 moved in or out Zanesville · Muskingum County: -1 net from other states, 3,285 moved in or out New Philadelphia · Tuscarawas County: -35 net from other states, 3,251 moved in or out Athens · Athens County: -66 net from other states, 3,054 moved in or out Chillicothe · Ross County: -40 net from other states, 2,963 moved in or out Norwalk · Huron County: -8 net from other states, 2,777 moved in or out Mount Vernon · Knox County: -38 net from other states, 2,825 moved in or out London · Madison County: -26 net from other states, 2,762 moved in or out Ashland · Ashland County: -14 net from other states, 2,632 moved in or out Marion · Marion County: +1 net from other states, 2,528 moved in or out Fremont · Sandusky County: +20 net from other states, 2,528 moved in or out Tiffin · Seneca County: +27 net from other states, 2,488 moved in or out Wilmington · Clinton County: -11 net from other states, 2,358 moved in or out Steubenville · Jefferson County: +27 net from other states, 2,406 moved in or out Georgetown · Brown County: +14 net from other states, 2,288 moved in or out Bellefontaine · Logan County: -15 net from other states, 2,304 moved in or out Port Clinton · Ottawa County: -27 net from other states, 2,329 moved in or out Marietta · Washington County: -5 net from other states, 2,294 moved in or out Martins Ferry · Belmont County: +35 net from other states, 2,154 moved in or out Wapakoneta · Auglaize County: +5 net from other states, 2,152 moved in or out Sidney · Shelby County: +3 net from other states, 2,134 moved in or out Urbana · Champaign County: -14 net from other states, 2,062 moved in or out Bucyrus · Crawford County: +8 net from other states, 2,056 moved in or out Wauseon · Fulton County: -31 net from other states, 2,065 moved in or out Ironton · Lawrence County: -9 net from other states, 2,075 moved in or out Mount Gilead · Morrow County: -3 net from other states, 2,041 moved in or out Portsmouth · Scioto County: -53 net from other states, 2,060 moved in or out Greenville · Darke County: -49 net from other states, 1,906 moved in or out Hillsboro · Highland County: -15 net from other states, 1,926 moved in or out Defiance · Defiance County: -14 net from other states, 1,744 moved in or out Eaton · Preble County: -27 net from other states, 1,764 moved in or out New Lexington · Perry County: -7 net from other states, 1,723 moved in or out Cambridge · Guernsey County: +36 net from other states, 1,549 moved in or out Bryan · Williams County: -10 net from other states, 1,500 moved in or out Washington Court House · Fayette County: -6 net from other states, 1,435 moved in or out Carrollton · Carroll County: +10 net from other states, 1,362 moved in or out Kenton · Hardin County: -24 net from other states, 1,368 moved in or out Celina · Mercer County: -25 net from other states, 1,355 moved in or out Millersburg · Holmes County: -25 net from other states, 1,348 moved in or out Napoleon · Henry County: +10 net from other states, 1,287 moved in or out Logan · Hocking County: -8 net from other states, 1,244 moved in or out Van Wert · Van Wert County: +0 net from other states, 1,221 moved in or out Coshocton · Coshocton County: +27 net from other states, 1,207 moved in or out Jackson · Jackson County: +9 net from other states, 1,137 moved in or out Waverly · Pike County: -7 net from other states, 1,154 moved in or out Ottawa · Putnam County: -21 net from other states, 1,049 moved in or out Upper Sandusky · Wyandot County: +2 net from other states, 1,015 moved in or out West Union · Adams County: -32 net from other states, 1,002 moved in or out Gallipolis · Gallia County: -3 net from other states, 979 moved in or out Paulding · Paulding County: -20 net from other states, 829 moved in or out Middleport · Meigs County: -11 net from other states, 780 moved in or out Cadiz · Harrison County: +31 net from other states, 630 moved in or out McArthur · Vinton County: -11 net from other states, 597 moved in or out McConnelsville · Morgan County: -2 net from other states, 554 moved in or out Caldwell · Noble County: -2 net from other states, 459 moved in or out Woodsfield · Monroe County: -12 net from other states, 414 moved in or out Columbus · Franklin County: -793 net from other states, 68,661 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.
Columbus · Franklin County — the busiest moving market in Ohio.
Where Ohio 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.
Warren Trumbull County +139
#2,019 of 3,087 U.S. counties for total household growth
Youngstown Mahoning County +99
#2,537 of 3,087 U.S. counties for total household growth
Ashtabula Ashtabula County +58
#1,931 of 3,087 U.S. counties for total household growth
Beavercreek Greene County +43
#632 of 3,087 U.S. counties for total household growth
Marysville Union County +38
#181 of 3,087 U.S. counties for total household growth
Cambridge Guernsey County +36
#845 of 3,087 U.S. counties for total household growth
Martins Ferry Belmont County +35
#2,499 of 3,087 U.S. counties for total household growth
Cadiz Harrison County +31
#1,790 of 3,087 U.S. counties for total household growth
Where Ohio 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.
Cleveland Cuyahoga County -1,356
Cincinnati Hamilton County -1,206
Columbus Franklin County -793
Akron Summit County -678
Toledo Lucas County -605
Mason Warren County -414
Delaware Delaware County -281
Brunswick Medina County -269
Which states Ohio 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.
Florida -1,788
3,914 in
5,702 out
Kentucky -256
3,848 in
4,104 out
Michigan +178
3,004 in
2,826 out
Pennsylvania +459
2,779 in
2,320 out
Texas -1,287
1,756 in
3,043 out
California -235
2,227 in
2,462 out

Households arriving in Ohio from another state report $67,339 in average annual income; those leaving for another state report $78,336. Departures out-earn arrivals — Ohio is losing its higher earners.

Arriving from another state$67,339
Leaving for another state$78,336
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 28% of moves unattributed to a specific county, because flows too small to publish are grouped into regional buckets. 88 of Ohio's counties have published data.