Who's moving to Kentucky
Where households are arriving from and leaving for, county by county — built on official federal tax-filer data, not marketing estimates.
+2,207 net households from other states
Arrived from other states
47,228
households, 2022-2023
Left for other states
45,021
households, 2022-2023
Moved within Kentucky
65,692
households changed county, stayed in state
+2,207 net households — Arrivals from other states and departures to them are close in volume — arrivals edge ahead by 2,207 households.
Five years ago the flow ran the other way — Kentucky was losing households to other states.
Another 326 households arrived from abroad.
Net household change, five years
Every move in or out of Kentucky, including from abroad — so the latest bar can differ slightly from the state-to-state figure above.
Lexington · Fayette County: +35 net from other states, 18,417 moved in or out
Covington · Kenton County: +287 net from other states, 11,727 moved in or out
Florence · Boone County: +205 net from other states, 9,432 moved in or out
Bowling Green · Warren County: +179 net from other states, 7,370 moved in or out
Elizabethtown · Hardin County: -18 net from other states, 7,170 moved in or out
Hopkinsville · Christian County: -323 net from other states, 6,858 moved in or out
Fort Thomas · Campbell County: +144 net from other states, 6,550 moved in or out
Richmond · Madison County: +188 net from other states, 5,695 moved in or out
Mount Washington · Bullitt County: +82 net from other states, 5,091 moved in or out
Georgetown · Scott County: +115 net from other states, 3,930 moved in or out
La Grange · Oldham County: -130 net from other states, 3,810 moved in or out
Owensboro · Daviess County: -24 net from other states, 3,507 moved in or out
Nicholasville · Jessamine County: +117 net from other states, 3,473 moved in or out
Paducah · McCracken County: +81 net from other states, 3,321 moved in or out
Frankfort · Franklin County: -25 net from other states, 2,875 moved in or out
London · Laurel County: +49 net from other states, 2,840 moved in or out
Shelbyville · Shelby County: -23 net from other states, 2,708 moved in or out
Somerset · Pulaski County: +226 net from other states, 2,449 moved in or out
Brandenburg · Meade County: +13 net from other states, 2,306 moved in or out
Meads · Boyd County: +74 net from other states, 2,221 moved in or out
Bardstown · Nelson County: +2 net from other states, 2,144 moved in or out
Murray · Calloway County: +8 net from other states, 2,133 moved in or out
Glasgow · Barren County: +74 net from other states, 2,070 moved in or out
Winchester · Clark County: +19 net from other states, 1,990 moved in or out
Henderson · Henderson County: +48 net from other states, 1,777 moved in or out
Danville · Boyle County: +25 net from other states, 1,728 moved in or out
Corbin · Whitley County: +33 net from other states, 1,728 moved in or out
Madisonville · Hopkins County: -34 net from other states, 1,709 moved in or out
Flatwoods · Greenup County: +37 net from other states, 1,639 moved in or out
Pikeville · Pike County: +3 net from other states, 1,643 moved in or out
Versailles · Woodford County: +53 net from other states, 1,602 moved in or out
Williamstown · Grant County: -5 net from other states, 1,567 moved in or out
Benton · Marshall County: +31 net from other states, 1,553 moved in or out
Mount Sterling · Montgomery County: +36 net from other states, 1,525 moved in or out
Mayfield · Graves County: +20 net from other states, 1,414 moved in or out
Barbourville · Knox County: +21 net from other states, 1,352 moved in or out
Morehead · Rowan County: -23 net from other states, 1,349 moved in or out
Lawrenceburg · Anderson County: +42 net from other states, 1,319 moved in or out
Russellville · Logan County: +118 net from other states, 1,304 moved in or out
Harrodsburg · Mercer County: +77 net from other states, 1,317 moved in or out
Franklin · Simpson County: +149 net from other states, 1,311 moved in or out
Campbellsville · Taylor County: +13 net from other states, 1,284 moved in or out
Elk Creek · Spencer County: +17 net from other states, 1,201 moved in or out
Stanford · Lincoln County: +42 net from other states, 1,190 moved in or out
Prestonsburg · Floyd County: +14 net from other states, 1,145 moved in or out
Paris · Bourbon County: +46 net from other states, 1,115 moved in or out
Lancaster · Garrard County: +16 net from other states, 1,102 moved in or out
Scottsville · Allen County: +111 net from other states, 1,020 moved in or out
Leitchfield · Grayson County: +36 net from other states, 1,009 moved in or out
Grayson · Carter County: +53 net from other states, 978 moved in or out
Cynthiana · Harrison County: +31 net from other states, 951 moved in or out
Hardinsburg · Breckinridge County: -29 net from other states, 926 moved in or out
Eminence · Henry County: -7 net from other states, 917 moved in or out
Horse Cave · Hart County: +36 net from other states, 869 moved in or out
Morehead · Muhlenberg County: +37 net from other states, 868 moved in or out
Oak Grove · Ohio County: +41 net from other states, 891 moved in or out
Middlesboro · Bell County: -31 net from other states, 877 moved in or out
Columbia · Adair County: +45 net from other states, 844 moved in or out
Hodgenville · Larue County: -13 net from other states, 842 moved in or out
Maysville · Mason County: +11 net from other states, 836 moved in or out
Falmouth · Pendleton County: -14 net from other states, 824 moved in or out
Paintsville · Johnson County: -32 net from other states, 774 moved in or out
Hazard · Perry County: -7 net from other states, 788 moved in or out
Lebanon · Marion County: +2 net from other states, 756 moved in or out
Cadiz · Trigg County: +46 net from other states, 755 moved in or out
Flemingsburg · Fleming County: +14 net from other states, 695 moved in or out
Russell Springs · Russell County: +49 net from other states, 709 moved in or out
Mount Vernon · Rockcastle County: +0 net from other states, 670 moved in or out
Springfield · Washington County: +33 net from other states, 643 moved in or out
Monticello · Wayne County: +22 net from other states, 621 moved in or out
Providence · Webster County: +7 net from other states, 633 moved in or out
Liberty · Casey County: +45 net from other states, 593 moved in or out
Brownsville · Edmonson County: +33 net from other states, 603 moved in or out
Louisa · Lawrence County: -11 net from other states, 592 moved in or out
Owingsville · Bath County: +22 net from other states, 584 moved in or out
Carrollton · Carroll County: -17 net from other states, 571 moved in or out
Elkton · Todd County: +26 net from other states, 569 moved in or out
Princeton · Caldwell County: +10 net from other states, 542 moved in or out
Hindman · Knott County: -21 net from other states, 550 moved in or out
Morgantown · Butler County: +6 net from other states, 499 moved in or out
Irvine · Estill County: +54 net from other states, 499 moved in or out
Warsaw · Gallatin County: -8 net from other states, 513 moved in or out
Cumberland · Harlan County: +3 net from other states, 500 moved in or out
Owenton · Owen County: -26 net from other states, 508 moved in or out
Stanton · Powell County: -1 net from other states, 505 moved in or out
Providence · Trimble County: -28 net from other states, 522 moved in or out
Morganfield · Union County: -4 net from other states, 504 moved in or out
Manchester · Clay County: -16 net from other states, 498 moved in or out
Greensburg · Green County: +63 net from other states, 473 moved in or out
Jenkins · Letcher County: -24 net from other states, 497 moved in or out
Ledbetter · Livingston County: +0 net from other states, 447 moved in or out
Eddyville · Lyon County: +36 net from other states, 457 moved in or out
Lewisport · Hancock County: -21 net from other states, 431 moved in or out
Annville · Jackson County: +56 net from other states, 442 moved in or out
Vanceburg · Lewis County: +27 net from other states, 421 moved in or out
Livermore · McLean County: +21 net from other states, 430 moved in or out
Edmonton · Metcalfe County: +38 net from other states, 420 moved in or out
West Liberty · Morgan County: +10 net from other states, 433 moved in or out
La Center · Ballard County: +46 net from other states, 410 moved in or out
Augusta · Bracken County: +16 net from other states, 382 moved in or out
Jackson · Breathitt County: -29 net from other states, 388 moved in or out
Marion · Crittenden County: -13 net from other states, 383 moved in or out
Pine Knot · McCreary County: +54 net from other states, 382 moved in or out
Frenchburg · Menifee County: +30 net from other states, 319 moved in or out
Carlisle · Nicholas County: -20 net from other states, 332 moved in or out
Tompkinsville · Monroe County: +0 net from other states, 315 moved in or out
Albany · Clinton County: +1 net from other states, 280 moved in or out
Fulton · Fulton County: -3 net from other states, 291 moved in or out
Burkesville · Cumberland County: +57 net from other states, 261 moved in or out
Inez · Martin County: +12 net from other states, 268 moved in or out
Hyden · Leslie County: +0 net from other states, 217 moved in or out
Campton · Wolfe County: +0 net from other states, 221 moved in or out
Clinton · Hickman County: +0 net from other states, 207 moved in or out
Salyersville · Magoffin County: +0 net from other states, 203 moved in or out
Bardwell · Carlisle County: +0 net from other states, 191 moved in or out
Beattyville · Lee County: +0 net from other states, 187 moved in or out
Sandy Hook · Elliott County: +0 net from other states, 171 moved in or out
Booneville · Owsley County: +0 net from other states, 107 moved in or out
Mount Olivet · Robertson County: +0 net from other states, 103 moved in or out
Louisville · Jefferson County: -792 net from other states, 32,451 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.
Louisville · Jefferson County — the busiest moving market in Kentucky.
Where Kentucky 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.
#303 of 3,087 U.S. counties for total household growth
#343 of 3,087 U.S. counties for total household growth
#522 of 3,087 U.S. counties for total household growth
#159 of 3,087 U.S. counties for total household growth
#241 of 3,087 U.S. counties for total household growth
#546 of 3,087 U.S. counties for total household growth
#566 of 3,087 U.S. counties for total household growth
Russellville Logan County
+118
#590 of 3,087 U.S. counties for total household growth
Where Kentucky 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.
Paintsville Johnson County
-32
Jackson Breathitt County
-29
Hardinsburg Breckinridge County
-29
Which states Kentucky 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.
Households arriving in Kentucky from another state report
$60,571 in average annual income;
those leaving for another state report
$66,386 .
Departures out-earn arrivals — Kentucky is losing its higher earners.
Arriving from another state $60,571
Leaving for another state $66,386
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 42% of moves
unattributed to a specific county, because flows too small to publish are grouped into regional buckets.
120 of Kentucky's counties have published data.