MoverScout

Who's moving to Oklahoma

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

+5,601 net households from other states
Arrived from other states
44,617
households, 2022-2023
Left for other states
39,016
households, 2022-2023
Moved within Oklahoma
65,800
households changed county, stayed in state

+5,601 net households — Arrivals from other states and departures to them are close in volume — arrivals edge ahead by 5,601 households. That lead is growing — up 299% on five years ago. Another 594 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 Oklahoma City →
Net household change, five years
Every move in or out of Oklahoma, including from abroad — so the latest bar can differ slightly from the state-to-state figure above.
+1,393
18–19
+5,889
19–20
+9,336
20–21
+8,960
21–22
+5,560
22–23
Tulsa · Tulsa County: +991 net from other states, 31,035 moved in or out Norman · Cleveland County: -70 net from other states, 19,790 moved in or out Yukon · Canadian County: +546 net from other states, 12,301 moved in or out Lawton · Comanche County: +46 net from other states, 8,255 moved in or out Coweta · Wagoner County: +265 net from other states, 6,185 moved in or out Claremore · Rogers County: +200 net from other states, 6,184 moved in or out Stillwater · Payne County: -71 net from other states, 5,227 moved in or out Sapulpa · Creek County: +57 net from other states, 4,509 moved in or out Shawnee · Pottawatomie County: +86 net from other states, 3,879 moved in or out Newcastle · McClain County: +137 net from other states, 3,523 moved in or out Chickasha · Grady County: +83 net from other states, 3,178 moved in or out Guthrie · Logan County: +84 net from other states, 3,177 moved in or out Enid · Garfield County: +8 net from other states, 3,120 moved in or out Muskogee · Muskogee County: +133 net from other states, 3,096 moved in or out Skiatook · Osage County: +54 net from other states, 2,878 moved in or out Bartlesville · Washington County: +24 net from other states, 2,667 moved in or out Durant · Bryan County: +278 net from other states, 2,598 moved in or out Grove · Delaware County: +132 net from other states, 2,573 moved in or out Tahlequah · Cherokee County: +60 net from other states, 2,326 moved in or out Ardmore · Carter County: +157 net from other states, 2,232 moved in or out Pryor Creek · Mayes County: +88 net from other states, 2,073 moved in or out Poteau · Le Flore County: +79 net from other states, 1,985 moved in or out Chandler · Lincoln County: +42 net from other states, 1,971 moved in or out Ponca City · Kay County: +5 net from other states, 1,846 moved in or out Okmulgee · Okmulgee County: +7 net from other states, 1,809 moved in or out McAlester · Pittsburg County: +103 net from other states, 1,803 moved in or out Ada · Pontotoc County: +45 net from other states, 1,828 moved in or out Duncan · Stephens County: +151 net from other states, 1,836 moved in or out Altus · Jackson County: -21 net from other states, 1,793 moved in or out Sallisaw · Sequoyah County: +93 net from other states, 1,758 moved in or out Weatherford · Custer County: -3 net from other states, 1,634 moved in or out Miami · Ottawa County: +26 net from other states, 1,553 moved in or out Pauls Valley · Garvin County: +30 net from other states, 1,405 moved in or out Seminole · Seminole County: +40 net from other states, 1,188 moved in or out Checotah · McIntosh County: +84 net from other states, 1,178 moved in or out Anadarko · Caddo County: +5 net from other states, 1,099 moved in or out Elk City · Beckham County: +69 net from other states, 993 moved in or out Cleveland · Pawnee County: +39 net from other states, 989 moved in or out Guymon · Texas County: -127 net from other states, 988 moved in or out Stilwell · Adair County: +56 net from other states, 892 moved in or out Madill · Marshall County: +74 net from other states, 914 moved in or out Woodward · Woodward County: -7 net from other states, 915 moved in or out Idabel · McCurtain County: +9 net from other states, 846 moved in or out Kingfisher · Kingfisher County: +71 net from other states, 739 moved in or out Sulphur · Murray County: +63 net from other states, 712 moved in or out Vinita · Craig County: +36 net from other states, 696 moved in or out Cordell · Washita County: -16 net from other states, 663 moved in or out Holdenville · Hughes County: +22 net from other states, 646 moved in or out Hugo · Choctaw County: +22 net from other states, 626 moved in or out Marietta · Love County: +79 net from other states, 590 moved in or out Wilburton · Latimer County: +48 net from other states, 575 moved in or out Atoka · Atoka County: +5 net from other states, 548 moved in or out Perry · Noble County: +39 net from other states, 565 moved in or out Nowata · Nowata County: +73 net from other states, 526 moved in or out Okemah · Okfuskee County: +52 net from other states, 530 moved in or out Stigler · Haskell County: +83 net from other states, 542 moved in or out Tishomingo · Johnston County: +19 net from other states, 502 moved in or out Antlers · Pushmataha County: +43 net from other states, 461 moved in or out Watonga · Blaine County: +2 net from other states, 435 moved in or out Alva · Woods County: +40 net from other states, 394 moved in or out Frederick · Tillman County: +7 net from other states, 311 moved in or out Hobart · Kiowa County: +30 net from other states, 325 moved in or out Waurika · Jefferson County: +15 net from other states, 275 moved in or out Fairview · Major County: +21 net from other states, 287 moved in or out Walters · Cotton County: +19 net from other states, 263 moved in or out Beaver · Beaver County: +16 net from other states, 238 moved in or out Coalgate · Coal County: +25 net from other states, 231 moved in or out Mangum · Greer County: +0 net from other states, 215 moved in or out Seiling · Dewey County: +0 net from other states, 185 moved in or out Cherokee · Alfalfa County: +0 net from other states, 157 moved in or out Shattuck · Ellis County: -20 net from other states, 154 moved in or out Medford · Grant County: +0 net from other states, 143 moved in or out Cheyenne · Roger Mills County: +0 net from other states, 135 moved in or out Hollis · Harmon County: +27 net from other states, 99 moved in or out Laverne · Harper County: +0 net from other states, 88 moved in or out Oklahoma City · Oklahoma County: +693 net from other states, 41,577 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.
Oklahoma City · Oklahoma County — the busiest moving market in Oklahoma.
Where Oklahoma 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.
Tulsa Tulsa County +991
#265 of 3,087 U.S. counties for total household growth
Oklahoma City Oklahoma County +693
#540 of 3,087 U.S. counties for total household growth
Yukon Canadian County +546
#60 of 3,087 U.S. counties for total household growth
Durant Bryan County +278
#345 of 3,087 U.S. counties for total household growth
Coweta Wagoner County +265
#189 of 3,087 U.S. counties for total household growth
Claremore Rogers County +200
#326 of 3,087 U.S. counties for total household growth
Ardmore Carter County +157
#572 of 3,087 U.S. counties for total household growth
Duncan Stephens County +151
#727 of 3,087 U.S. counties for total household growth
Where Oklahoma 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.
Guymon Texas County -127
Stillwater Payne County -71
Norman Cleveland County -70
Altus Jackson County -21
Shattuck Ellis County -20
Cordell Washita County -16
Woodward Woodward County -7
Weatherford Custer County -3
Which states Oklahoma 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.
Texas +591
5,350 in
4,759 out
Arkansas -26
1,388 in
1,414 out
California +988
1,815 in
827 out
Colorado -36
788 in
824 out
Kansas +135
840 in
705 out
Arizona +201
634 in
433 out

Households arriving in Oklahoma from another state report $59,255 in average annual income; those leaving for another state report $60,814. The two groups earn about the same.

Arriving from another state$59,255
Leaving for another state$60,814
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 37% of moves unattributed to a specific county, because flows too small to publish are grouped into regional buckets. 76 of Oklahoma's counties have published data.