MoverScout

Who's moving to Texas

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

+56,883 net households from other states · #1 of 51 states
Arrived from other states
304,097
households, 2022-2023
Left for other states
247,214
households, 2022-2023
Moved within Texas
569,293
households changed county, stayed in state

+56,883 net households — For every 100 households that left Texas for another state, about 123 arrived. Texas is a net gainer. The pace has held steady over five years. Another 6,519 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 Houston →
Net household change, five years
Every move in or out of Texas, including from abroad — so the latest bar can differ slightly from the state-to-state figure above.
+52,488
18–19
+63,745
19–20
+84,106
20–21
+89,082
21–22
+55,365
22–23
Dallas · Dallas County: +6,995 net from other states, 162,154 moved in or out Fort Worth · Tarrant County: +3,863 net from other states, 120,426 moved in or out Austin · Travis County: +6,517 net from other states, 112,275 moved in or out Plano · Collin County: +5,679 net from other states, 91,000 moved in or out San Antonio · Bexar County: +3,372 net from other states, 89,786 moved in or out Denton · Denton County: +3,357 net from other states, 83,425 moved in or out Round Rock · Williamson County: +3,906 net from other states, 57,916 moved in or out Sugar Land · Fort Bend County: +2,130 net from other states, 52,389 moved in or out The Woodlands · Montgomery County: +2,805 net from other states, 48,322 moved in or out Killeen · Bell County: +1,003 net from other states, 31,784 moved in or out El Paso · El Paso County: -756 net from other states, 31,568 moved in or out San Marcos · Hays County: +646 net from other states, 24,178 moved in or out Pearland · Brazoria County: +747 net from other states, 22,861 moved in or out League City · Galveston County: +223 net from other states, 20,523 moved in or out McAllen · Hidalgo County: -112 net from other states, 17,162 moved in or out New Braunfels · Comal County: +788 net from other states, 16,891 moved in or out Forney · Kaufman County: +758 net from other states, 16,379 moved in or out Corpus Christi · Nueces County: -18 net from other states, 15,571 moved in or out Lubbock · Lubbock County: +143 net from other states, 15,402 moved in or out College Station · Brazos County: -219 net from other states, 15,298 moved in or out Schertz · Guadalupe County: +588 net from other states, 15,323 moved in or out Waxahachie · Ellis County: +476 net from other states, 14,913 moved in or out Burleson · Johnson County: +317 net from other states, 13,803 moved in or out Tyler · Smith County: +341 net from other states, 13,052 moved in or out Weatherford · Parker County: +667 net from other states, 12,551 moved in or out Midland · Midland County: +575 net from other states, 12,013 moved in or out Waco · McLennan County: +231 net from other states, 11,728 moved in or out Rockwall · Rockwall County: +379 net from other states, 11,212 moved in or out Brownsville · Cameron County: -156 net from other states, 10,888 moved in or out Beaumont · Jefferson County: +48 net from other states, 10,070 moved in or out Canyon · Randall County: +36 net from other states, 9,993 moved in or out Sherman · Grayson County: -53 net from other states, 8,986 moved in or out Abilene · Taylor County: +128 net from other states, 8,639 moved in or out Odessa · Ector County: +391 net from other states, 8,323 moved in or out Greenville · Hunt County: +58 net from other states, 8,226 moved in or out Copperas Cove · Coryell County: +230 net from other states, 8,110 moved in or out Amarillo · Potter County: -21 net from other states, 7,822 moved in or out Longview · Gregg County: +173 net from other states, 7,767 moved in or out Wichita Falls · Wichita County: -150 net from other states, 7,325 moved in or out Liberty · Liberty County: +154 net from other states, 7,126 moved in or out Elgin · Bastrop County: +126 net from other states, 7,112 moved in or out San Angelo · Tom Green County: -34 net from other states, 6,452 moved in or out West Livingston · Polk County: -207 net from other states, 5,900 moved in or out Laredo · Webb County: -193 net from other states, 5,664 moved in or out Athens · Henderson County: +163 net from other states, 5,499 moved in or out Decatur · Wise County: +158 net from other states, 5,491 moved in or out Granbury · Hood County: +172 net from other states, 4,944 moved in or out Huntsville · Walker County: +44 net from other states, 4,940 moved in or out Texarkana · Bowie County: -34 net from other states, 4,806 moved in or out Portland · San Patricio County: +21 net from other states, 4,442 moved in or out Hempstead · Waller County: +59 net from other states, 4,272 moved in or out Marble Falls · Burnet County: +38 net from other states, 4,194 moved in or out Boerne · Kendall County: +134 net from other states, 3,926 moved in or out Orange · Orange County: +103 net from other states, 3,939 moved in or out Victoria · Victoria County: +17 net from other states, 3,822 moved in or out Marshall · Harrison County: +43 net from other states, 3,803 moved in or out Mont Belvieu · Chambers County: +96 net from other states, 3,740 moved in or out Canton · Van Zandt County: +44 net from other states, 3,636 moved in or out Lockhart · Caldwell County: +48 net from other states, 3,511 moved in or out Lufkin · Angelina County: -7 net from other states, 3,477 moved in or out Hondo · Medina County: -6 net from other states, 3,234 moved in or out Nacogdoches · Nacogdoches County: -25 net from other states, 3,257 moved in or out Lumberton · Hardin County: -23 net from other states, 3,147 moved in or out Mineola · Wood County: +62 net from other states, 3,089 moved in or out Floresville · Wilson County: +36 net from other states, 3,108 moved in or out Pleasanton · Atascosa County: -14 net from other states, 3,064 moved in or out Kerrville · Kerr County: +49 net from other states, 3,019 moved in or out Corsicana · Navarro County: +46 net from other states, 2,884 moved in or out Henderson · Rusk County: +33 net from other states, 2,838 moved in or out Gilmer · Upshur County: +93 net from other states, 2,790 moved in or out Stephenville · Erath County: +41 net from other states, 2,739 moved in or out Gainesville · Cooke County: -69 net from other states, 2,572 moved in or out Del Rio · Val Verde County: +15 net from other states, 2,429 moved in or out Jacksonville · Cherokee County: +15 net from other states, 2,436 moved in or out Hillsboro · Hill County: +21 net from other states, 2,411 moved in or out Palestine · Anderson County: +9 net from other states, 2,405 moved in or out Navasota · Grimes County: +60 net from other states, 2,223 moved in or out Rockport · Aransas County: +27 net from other states, 2,151 moved in or out Bonham · Fannin County: +9 net from other states, 2,147 moved in or out Paris · Lamar County: -34 net from other states, 2,071 moved in or out Shepherd · San Jacinto County: -18 net from other states, 1,976 moved in or out Brenham · Washington County: +28 net from other states, 1,918 moved in or out Sealy · Austin County: +24 net from other states, 1,896 moved in or out Kingsville · Kleberg County: -47 net from other states, 1,902 moved in or out Sulphur Springs · Hopkins County: +12 net from other states, 1,874 moved in or out Mineral Wells · Palo Pinto County: +34 net from other states, 1,863 moved in or out Brownwood · Brown County: -1 net from other states, 1,836 moved in or out Jasper · Jasper County: -29 net from other states, 1,762 moved in or out Eagle Pass · Maverick County: -24 net from other states, 1,758 moved in or out Lampasas · Lampasas County: +13 net from other states, 1,726 moved in or out Kingsland · Llano County: -7 net from other states, 1,712 moved in or out El Campo · Wharton County: -43 net from other states, 1,713 moved in or out Fredericksburg · Gillespie County: +5 net from other states, 1,690 moved in or out Alice · Jim Wells County: +5 net from other states, 1,689 moved in or out Lakehills · Bandera County: +32 net from other states, 1,653 moved in or out Bay City · Matagorda County: +11 net from other states, 1,643 moved in or out Atlanta · Cass County: +23 net from other states, 1,514 moved in or out Mount Pleasant · Titus County: -10 net from other states, 1,486 moved in or out Rockdale · Milam County: +31 net from other states, 1,425 moved in or out Rio Grande City · Starr County: -36 net from other states, 1,442 moved in or out La Grange · Fayette County: -17 net from other states, 1,400 moved in or out Big Spring · Howard County: -6 net from other states, 1,391 moved in or out Bowie · Montague County: -12 net from other states, 1,279 moved in or out Caldwell · Burleson County: -4 net from other states, 1,246 moved in or out Levelland · Hockley County: -2 net from other states, 1,234 moved in or out Plainview · Hale County: -23 net from other states, 1,209 moved in or out Beeville · Bee County: -13 net from other states, 1,166 moved in or out Clifton · Bosque County: +16 net from other states, 1,152 moved in or out Johnson City · Blanco County: +44 net from other states, 1,093 moved in or out Mexia · Limestone County: -9 net from other states, 1,079 moved in or out Dumas · Moore County: -10 net from other states, 1,094 moved in or out Woodville · Tyler County: +29 net from other states, 1,087 moved in or out Eagle Lake · Colorado County: -4 net from other states, 1,052 moved in or out Carthage · Panola County: +13 net from other states, 1,059 moved in or out Teague · Freestone County: +32 net from other states, 1,034 moved in or out Borger · Hutchinson County: +9 net from other states, 1,026 moved in or out Buffalo · Leon County: +30 net from other states, 1,036 moved in or out Uvalde · Uvalde County: +7 net from other states, 1,025 moved in or out Stamford · Jones County: +10 net from other states, 980 moved in or out Trinity · Trinity County: +21 net from other states, 987 moved in or out Port Lavaca · Calhoun County: -14 net from other states, 954 moved in or out Cuero · DeWitt County: +22 net from other states, 958 moved in or out Crockett · Houston County: +0 net from other states, 968 moved in or out Hallettsville · Lavaca County: -12 net from other states, 928 moved in or out Center · Shelby County: +2 net from other states, 948 moved in or out Clyde · Callahan County: +47 net from other states, 907 moved in or out Eastland · Eastland County: +31 net from other states, 914 moved in or out Gonzales · Gonzales County: +2 net from other states, 909 moved in or out Pampa · Gray County: -20 net from other states, 908 moved in or out Hearne · Robertson County: +5 net from other states, 900 moved in or out Giddings · Lee County: -24 net from other states, 885 moved in or out Seminole · Gaines County: +7 net from other states, 853 moved in or out Graham · Young County: +9 net from other states, 860 moved in or out Emory · Rains County: +37 net from other states, 835 moved in or out Andrews · Andrews County: +17 net from other states, 826 moved in or out Marlin · Falls County: +18 net from other states, 819 moved in or out Daingerfield · Morris County: +25 net from other states, 791 moved in or out Pecos · Reeves County: +25 net from other states, 767 moved in or out Hereford · Deaf Smith County: +3 net from other states, 744 moved in or out Comanche · Comanche County: +60 net from other states, 727 moved in or out Pittsburg · Camp County: -5 net from other states, 714 moved in or out Henrietta · Clay County: +11 net from other states, 701 moved in or out Mount Vernon · Franklin County: -9 net from other states, 694 moved in or out Monahans · Ward County: +37 net from other states, 690 moved in or out Alpine · Brewster County: +7 net from other states, 665 moved in or out Edna · Jackson County: -30 net from other states, 658 moved in or out Jefferson · Marion County: +30 net from other states, 657 moved in or out Glen Rose · Somervell County: -2 net from other states, 664 moved in or out Pearsall · Frio County: -25 net from other states, 636 moved in or out Snyder · Scurry County: +1 net from other states, 637 moved in or out Clarksville · Red River County: +5 net from other states, 623 moved in or out Milam · Sabine County: +19 net from other states, 622 moved in or out Vernon · Wilbarger County: -13 net from other states, 605 moved in or out Madisonville · Madison County: +22 net from other states, 594 moved in or out Newton · Newton County: +4 net from other states, 611 moved in or out Sweetwater · Nolan County: +27 net from other states, 600 moved in or out George West · Live Oak County: +26 net from other states, 561 moved in or out Raymondville · Willacy County: -22 net from other states, 558 moved in or out Hamilton · Hamilton County: +29 net from other states, 550 moved in or out Littlefield · Lamb County: -5 net from other states, 547 moved in or out Fort Stockton · Pecos County: +8 net from other states, 548 moved in or out Jacksboro · Jack County: +0 net from other states, 523 moved in or out Kenedy · Karnes County: +0 net from other states, 517 moved in or out Ballinger · Runnels County: +24 net from other states, 510 moved in or out Dalhart · Dallam County: -22 net from other states, 492 moved in or out Brownfield · Terry County: +24 net from other states, 465 moved in or out Archer City · Archer County: +0 net from other states, 457 moved in or out Lamesa · Dawson County: +0 net from other states, 452 moved in or out San Diego · Duval County: +0 net from other states, 419 moved in or out Kermit · Winkler County: +28 net from other states, 411 moved in or out Presidio · Presidio County: -7 net from other states, 395 moved in or out Coleman · Coleman County: +25 net from other states, 403 moved in or out Brady · McCulloch County: +0 net from other states, 399 moved in or out Goliad · Goliad County: +0 net from other states, 386 moved in or out Perryton · Ochiltree County: -26 net from other states, 381 moved in or out Friona · Parmer County: -17 net from other states, 394 moved in or out Hartley · Hartley County: -30 net from other states, 368 moved in or out Breckenridge · Stephens County: +23 net from other states, 368 moved in or out Denver City · Yoakum County: -6 net from other states, 369 moved in or out Colorado City · Mitchell County: +21 net from other states, 359 moved in or out San Augustine · San Augustine County: +21 net from other states, 348 moved in or out Cooper · Delta County: +21 net from other states, 320 moved in or out Carrizo Springs · Dimmit County: +0 net from other states, 312 moved in or out Tahoka · Lynn County: +0 net from other states, 305 moved in or out Crystal City · Zavala County: +0 net from other states, 317 moved in or out Panhandle · Carson County: +0 net from other states, 294 moved in or out Dimmitt · Castro County: +4 net from other states, 294 moved in or out Stanton · Martin County: +0 net from other states, 293 moved in or out Refugio · Refugio County: +0 net from other states, 298 moved in or out Muleshoe · Bailey County: -17 net from other states, 282 moved in or out Tulia · Swisher County: +0 net from other states, 289 moved in or out Zapata · Zapata County: +0 net from other states, 281 moved in or out Ralls · Crosby County: +0 net from other states, 275 moved in or out Haskell · Haskell County: +0 net from other states, 256 moved in or out Goldthwaite · Mills County: +0 net from other states, 257 moved in or out Falfurrias · Brooks County: +0 net from other states, 247 moved in or out Floydada · Floyd County: +0 net from other states, 240 moved in or out Crane · Crane County: +0 net from other states, 236 moved in or out San Saba · San Saba County: +0 net from other states, 230 moved in or out Shamrock · Wheeler County: -7 net from other states, 214 moved in or out Childress · Childress County: +0 net from other states, 207 moved in or out Camp Wood · Real County: +0 net from other states, 201 moved in or out Cotulla · La Salle County: +0 net from other states, 195 moved in or out Robert Lee · Coke County: +0 net from other states, 182 moved in or out Junction · Kimble County: +0 net from other states, 186 moved in or out Mason · Mason County: +0 net from other states, 181 moved in or out Clarendon · Donley County: +0 net from other states, 169 moved in or out Spearman · Hansford County: +0 net from other states, 173 moved in or out Post · Garza County: +0 net from other states, 171 moved in or out Hamlin · Fisher County: +0 net from other states, 172 moved in or out Big Lake · Reagan County: +0 net from other states, 177 moved in or out Munday · Knox County: +0 net from other states, 164 moved in or out McCamey · Upton County: +0 net from other states, 161 moved in or out Quanah · Hardeman County: +0 net from other states, 152 moved in or out Albany · Shackelford County: +0 net from other states, 157 moved in or out Sonora · Sutton County: +0 net from other states, 153 moved in or out Morton · Cochran County: +0 net from other states, 139 moved in or out Brackettville · Kinney County: +0 net from other states, 143 moved in or out Fort Hancock · Hudspeth County: +0 net from other states, 137 moved in or out Memphis · Hall County: +0 net from other states, 138 moved in or out Hebbronville · Jim Hogg County: +0 net from other states, 133 moved in or out Vega · Oldham County: +0 net from other states, 131 moved in or out Eldorado · Schleicher County: +0 net from other states, 125 moved in or out Van Horn · Culberson County: +27 net from other states, 127 moved in or out Claude · Armstrong County: +0 net from other states, 125 moved in or out Seymour · Baylor County: +0 net from other states, 127 moved in or out Ozona · Crockett County: +0 net from other states, 117 moved in or out Eden · Concho County: +0 net from other states, 117 moved in or out Booker · Lipscomb County: -2 net from other states, 118 moved in or out Rocksprings · Edwards County: +0 net from other states, 110 moved in or out Fort Davis · Jeff Davis County: +0 net from other states, 104 moved in or out Menard · Menard County: +0 net from other states, 104 moved in or out Stratford · Sherman County: +0 net from other states, 110 moved in or out Mertzon · Irion County: +0 net from other states, 95 moved in or out Spur · Dickens County: +0 net from other states, 90 moved in or out Canadian · Hemphill County: +0 net from other states, 92 moved in or out Wellington · Collingsworth County: +0 net from other states, 88 moved in or out Throckmorton · Throckmorton County: +0 net from other states, 94 moved in or out Sterling City · Sterling County: +0 net from other states, 72 moved in or out Aspermont · Stonewall County: +0 net from other states, 60 moved in or out Silverton · Briscoe County: +0 net from other states, 56 moved in or out Garden City · Glasscock County: +0 net from other states, 55 moved in or out Paducah · Cottle County: +0 net from other states, 52 moved in or out Matador · Motley County: +0 net from other states, 53 moved in or out Houston · Harris County: +8,955 net from other states, 196,677 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.
Houston · Harris County — the busiest moving market in Texas.
Where Texas 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.
Houston Harris County +8,955
#3,077 of 3,087 U.S. counties for total household growth
Dallas Dallas County +6,995
#3,079 of 3,087 U.S. counties for total household growth
Austin Travis County +6,517
#168 of 3,087 U.S. counties for total household growth
Plano Collin County +5,679
#6 of 3,087 U.S. counties for total household growth
Round Rock Williamson County +3,906
#4 of 3,087 U.S. counties for total household growth
Fort Worth Tarrant County +3,863
#51 of 3,087 U.S. counties for total household growth
San Antonio Bexar County +3,372
#33 of 3,087 U.S. counties for total household growth
Denton Denton County +3,357
#8 of 3,087 U.S. counties for total household growth
Where Texas 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.
El Paso El Paso County -756
College Station Brazos County -219
West Livingston Polk County -207
Laredo Webb County -193
Brownsville Cameron County -156
Wichita Falls Wichita County -150
McAllen Hidalgo County -112
Gainesville Cooke County -69
Which states Texas 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.
California +17,070
35,801 in
18,731 out
Florida +4,028
16,607 in
12,579 out
Colorado -2,381
7,401 in
9,782 out
New York +3,768
9,139 in
5,371 out
Louisiana +3,571
8,647 in
5,076 out
Arizona +1,152
7,372 in
6,220 out

Households arriving in Texas from another state report $83,932 in average annual income; those leaving for another state report $80,777. The two groups earn about the same.

Arriving from another state$83,932
Leaving for another state$80,777
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 22% of moves unattributed to a specific county, because flows too small to publish are grouped into regional buckets. 245 of Texas's counties have published data.