North Carolina county-to-county migration
100 North Carolina counties. Top 10 origin and destination counties for each. Census ACS 2020 5-yr migration flows.
Frozen vintage. The Census Bureau has not released a newer county-to-county migration flows file. The 2020 5-yr vintage (covering 2016-2020) is the latest available as of build date.
Counties (by population)
- Wake County pop. 1,151,009
- Mecklenburg County pop. 1,130,906
- Guilford County pop. 542,987
- Forsyth County pop. 386,740
- Cumberland County pop. 336,749
- Durham County pop. 329,405
- Buncombe County pop. 271,790
- Union County pop. 244,975
- Gaston County pop. 231,485
- Cabarrus County pop. 231,262
- New Hanover County pop. 231,214
- Johnston County pop. 226,623
- Onslow County pop. 208,537
- Iredell County pop. 191,800
- Alamance County pop. 174,286
- Pitt County pop. 172,279
- Davidson County pop. 171,063
- Catawba County pop. 162,051
- Rowan County pop. 148,487
- Orange County pop. 147,292
- Brunswick County pop. 145,889
- Randolph County pop. 145,322
- Harnett County pop. 136,503
- Wayne County pop. 117,606
- Henderson County pop. 117,387
- Robeson County pop. 116,858
- Moore County pop. 102,840
- Craven County pop. 101,074
- Cleveland County pop. 100,170
- Nash County pop. 95,451
- Rockingham County pop. 91,585
- Lincoln County pop. 90,359
- Burke County pop. 87,863
- Caldwell County pop. 80,618
- Wilson County pop. 78,648
- Chatham County pop. 78,319
- Franklin County pop. 71,962
- Surry County pop. 71,407
- Carteret County pop. 68,652
- Wilkes County pop. 65,983
- Rutherford County pop. 64,850
- Lee County pop. 64,565
- Stanly County pop. 63,557
- Pender County pop. 63,475
- Haywood County pop. 62,432
- Granville County pop. 61,439
- Sampson County pop. 59,245
- Lenoir County pop. 54,917
- Watauga County pop. 54,607
- Hoke County pop. 53,102
- Columbus County pop. 50,453
- Duplin County pop. 49,053
- Edgecombe County pop. 48,777
- Halifax County pop. 48,219
- Stokes County pop. 44,889
- McDowell County pop. 44,679
- Beaufort County pop. 44,597
- Davie County pop. 43,526
- Jackson County pop. 43,089
- Richmond County pop. 42,818
- Vance County pop. 42,361
- Pasquotank County pop. 40,830
- Person County pop. 39,275
- Dare County pop. 37,534
- Macon County pop. 37,533
- Yadkin County pop. 37,419
- Alexander County pop. 36,440
- Scotland County pop. 34,353
- Transylvania County pop. 33,243
- Currituck County pop. 29,612
- Bladen County pop. 29,591
- Cherokee County pop. 29,197
- Ashe County pop. 26,831
- Montgomery County pop. 25,874
- Caswell County pop. 22,689
- Anson County pop. 21,903
- Martin County pop. 21,773
- Madison County pop. 21,640
- Hertford County pop. 20,492
- Greene County pop. 20,421
- Polk County pop. 19,689
- Warren County pop. 18,751
- Yancey County pop. 18,676
- Avery County pop. 17,643
- Bertie County pop. 17,482
- Northampton County pop. 17,212
- Mitchell County pop. 14,973
- Swain County pop. 14,065
- Chowan County pop. 13,814
- Perquimans County pop. 13,146
- Pamlico County pop. 12,315
- Clay County pop. 11,391
- Alleghany County pop. 11,075
- Washington County pop. 10,905
- Camden County pop. 10,743
- Gates County pop. 10,437
- Jones County pop. 9,245
- Graham County pop. 8,041
- Hyde County pop. 4,625
- Tyrrell County pop. 3,376
Source: U.S. Census Bureau, ACS County-to-County Migration Flows, 2020 5-yr (covering 2016-2020).