Guest, Sign inJoin
Kentucky rankings · 2026

Best small towns in Kentucky

Edgewood ranks first of Kentucky’s 94 graded small towns (2,500–9,999 residents), with an A+: jobs & income (A+) and schools (A) are its strongest grades; cost of living (B) is its lowest. 26 of the 94 (28%) grade A− or better nationally, against 25% of U.S. towns.

The overall grade, sorted: cost of living, safety, schools, health, jobs & income, walkability and hazard risk, from Census, FBI, state, CDC, EPA and FEMA data. How grades work

#1

Edgewood

Kenton County · 8,503 people
A+

Strongest: jobs & income A+, schools A·lowest: cost of living B

BCostA−SafetyASchoolsA−HealthA+JobsB+WalkB+Hazards
#2

Highland Heights

Campbell County · 6,341 people
A+

Strongest: walkability A+, schools A·lowest: jobs & income B−

ACostB+SafetyASchoolsA−HealthB−JobsA+WalkA−Hazards
#4

Park Hills

Kenton County · 3,188 people
A+

Strongest: hazard risk A, health A·lowest: walkability B−

B−CostA−SafetyASchoolsAHealthB+JobsB−WalkAHazards

Where they are: Seven of the top 10 are in Kenton County.

All 94 small towns

Overall score, highest first. The score (0–100) blends the seven livability grades and sets the order; the letter places that score among every U.S. town of 2,500+, and A+ is the top 5%, so neighbors on the list often share a letter. Each town links to its page, where the grade sheet shows every subject. The rank is the town’s place among all 138 Kentucky towns.

94 towns ranked. Not here? See why a town may be missing.

#TownScoreGradeWhat drives it
1EdgewoodKenton County · 8,503 people79.6top 0.2%A+Strongest: jobs & income A+, schools A·lowest: cost of living B
2Highland HeightsCampbell County · 6,341 people77.8top 0.4%A+Strongest: walkability A+, schools A·lowest: jobs & income B−
4Park HillsKenton County · 3,188 people74.6top 1.6%A+Strongest: hazard risk A, health A·lowest: walkability B−
5Fort WrightKenton County · 6,240 people74.6top 1.7%A+Strongest: jobs & income A, schools A·lowest: walkability B−
7Crestview HillsKenton County · 3,301 people73.6top 2.5%A+Strongest: walkability A, hazard risk A·lowest: cost of living B−
8Lakeside ParkKenton County · 2,847 people73.2top 2.8%A+Strongest: jobs & income A+, schools A·lowest: walkability B−
10WilmoreJessamine County · 6,380 people72.8top 3.2%A+Strongest: safety A, health A·lowest: cost of living B
11Fort MitchellKenton County · 8,751 people72.7top 3.2%A+Strongest: schools A+, jobs & income A−·lowest: cost of living C
13Hebronunincorporated, Boone County · 6,407 people70.9top 5.4%AStrongest: hazard risk A+, schools A·lowest: walkability C+
14Villa HillsKenton County · 7,797 people69.6top 7.4%AStrongest: jobs & income A, schools A·lowest: walkability C+
16Taylor MillKenton County · 7,144 people69.5top 7.7%AStrongest: schools A, safety A·lowest: health C−
18Claryvilleunincorporated, Campbell County · 3,251 people68.7top 9.0%AStrongest: schools A, jobs & income A−·lowest: walkability D−
19CrestwoodOldham County · 6,582 people67.3top 11.7%AStrongest: schools A+, jobs & income A·lowest: cost of living C
21AnchorageJefferson County · 2,547 people66.9top 12.5%AStrongest: schools A+, safety A·lowest: cost of living D
22WilderCampbell County · 3,108 people66.9top 12.5%AStrongest: schools A, hazard risk A−·lowest: walkability C
23SouthgateCampbell County · 3,868 people66.4top 13.7%AStrongest: schools A, walkability B+·lowest: jobs & income B−
24FlatwoodsGreenup County · 7,439 people66.3top 13.9%AStrongest: schools A, safety A·lowest: health C−
25UnionBoone County · 7,937 people65.3top 16.1%A−Strongest: jobs & income A+, schools A·lowest: cost of living C−
26RussellGreenup County · 3,628 people65.2top 16.2%A−Strongest: schools A, cost of living B+·lowest: walkability C+
27Cold SpringCampbell County · 6,640 people65.0top 16.8%A−Strongest: schools A, walkability A−·lowest: safety B−
28Crescent SpringsKenton County · 4,708 people64.8top 17.1%A−Strongest: schools A, hazard risk A−·lowest: walkability C
29WaltonBoone County · 5,868 people64.8top 17.3%A−Strongest: hazard risk A+, schools A·lowest: cost of living C+
30Bucknerunincorporated, Oldham County · 4,119 people63.8top 19.6%A−Strongest: jobs & income A+, schools A+·lowest: walkability D
31ColumbiaAdair County · 4,680 people63.4top 20.6%A−Strongest: safety A, walkability A−·lowest: jobs & income C−
33WilliamstownGrant County · 4,030 people62.4top 22.8%A−Strongest: cost of living A, safety A·lowest: walkability C−
34StanfordLincoln County · 3,761 people62.2top 23.6%A−Strongest: cost of living A, safety A−·lowest: health C−
36SpringfieldWashington County · 3,033 people61.0top 26.9%B+Strongest: schools A−, cost of living A−·lowest: jobs & income C
37Reidlandunincorporated, McCracken County · 5,277 people60.6top 28.0%B+Strongest: schools A, jobs & income B+·lowest: hazard risk D
39Hendronunincorporated, McCracken County · 4,495 people58.6top 32.9%B+Strongest: schools A, jobs & income A−·lowest: hazard risk C−
40ProvidenceWebster County · 2,872 people58.6top 32.9%B+Strongest: cost of living A+, safety A·lowest: health D
42Massacunincorporated, McCracken County · 4,698 people58.2top 33.9%B+Strongest: schools A, jobs & income A−·lowest: walkability D
43ElsmereKenton County · 9,521 people57.8top 35.2%BStrongest: schools A−, hazard risk A−·lowest: health C
44DaytonCampbell County · 5,974 people57.1top 37.1%BStrongest: walkability A, schools A·lowest: hazard risk C−
45HartfordOhio County · 2,665 people56.8top 37.9%BStrongest: cost of living A+, safety A−·lowest: health C−
46Masonvilleunincorporated, Daviess County · 2,887 people56.6top 38.5%BStrongest: cost of living B+, jobs & income B+·lowest: walkability D
48LudlowKenton County · 4,391 people56.2top 39.6%BStrongest: walkability A, cost of living B+·lowest: hazard risk C−
49BrandenburgMeade County · 3,003 people55.5top 41.3%BStrongest: walkability A, schools A−·lowest: health C−
51Pioneer VillageBullitt County · 2,794 people55.3top 41.9%BStrongest: safety A−, jobs & income A−·lowest: health C−
53CadizTrigg County · 2,771 people53.3top 47.3%B−Strongest: cost of living A, schools B+·lowest: health D
54BellevueCampbell County · 5,847 people53.1top 48.1%B−Strongest: walkability A, jobs & income B+·lowest: schools D−
55Thrustonunincorporated, Daviess County · 2,581 people52.6top 49.5%B−Strongest: cost of living A, health B·lowest: walkability D−
56Graymoor-DevondaleJefferson County · 2,832 people52.5top 49.7%B−Strongest: jobs & income A, health A−·lowest: schools D
57ProspectJefferson County · 4,705 people51.9bottom 48.6%B−Strongest: health A, jobs & income A·lowest: schools D
58Beaver DamOhio County · 3,537 people51.0bottom 46.3%B−Strongest: cost of living A, safety A·lowest: health D
59WilliamsburgWhitley County · 5,371 people51.0bottom 46.3%B−Strongest: walkability A−, schools B+·lowest: health D
60PrincetonCaldwell County · 6,168 people50.6bottom 45.4%B−Strongest: cost of living A, schools A−·lowest: health D
61BentonMarshall County · 4,718 people50.4bottom 44.6%C+Strongest: cost of living A−, safety B·lowest: hazard risk C−
64HardinsburgBreckinridge County · 2,513 people49.9bottom 43.3%C+Strongest: cost of living A−, safety A−·lowest: health D
65Farleyunincorporated, McCracken County · 4,458 people49.7bottom 42.8%C+Strongest: schools A, cost of living A·lowest: hazard risk D−
66MorgantownButler County · 2,512 people49.7bottom 42.6%C+Strongest: cost of living A, safety A−·lowest: health D−
67HillviewBullitt County · 9,020 people49.6bottom 42.4%C+Strongest: jobs & income B, schools B·lowest: health C
69CynthianaHarrison County · 6,576 people48.9bottom 40.7%C+Strongest: walkability A−, cost of living A−·lowest: health D
70MarionCrittenden County · 2,879 people48.5bottom 39.6%C+Strongest: cost of living A, schools A−·lowest: jobs & income D−
73GraysonCarter County · 3,728 people47.7bottom 37.1%C+Strongest: walkability A, schools A−·lowest: jobs & income D−
74CrittendenGrant County · 4,185 people47.2bottom 35.7%C+Strongest: cost of living A, hazard risk B·lowest: walkability D
76HodgenvilleLarue County · 3,378 people47.0bottom 35.3%C+Strongest: schools A−, cost of living B+·lowest: health D
78Mount SterlingMontgomery County · 7,586 people46.8bottom 34.8%CStrongest: cost of living A−, hazard risk B+·lowest: health D
79Vine GroveHardin County · 7,018 people46.6bottom 34.5%CStrongest: safety A, jobs & income B−·lowest: walkability D
80Indian HillsJefferson County · 2,939 people46.6bottom 34.4%CStrongest: jobs & income A+, health A·lowest: schools D
81West LibertyMorgan County · 3,339 people46.4bottom 33.9%CStrongest: safety A−, walkability B·lowest: jobs & income D
83GreenvilleMuhlenberg County · 4,350 people46.3bottom 33.6%CStrongest: cost of living A, safety A−·lowest: jobs & income D
84Douglass HillsJefferson County · 5,575 people46.0bottom 32.9%CStrongest: health A, hazard risk B+·lowest: schools D
85PaintsvilleJohnson County · 4,111 people46.0bottom 32.8%CStrongest: safety A, schools B·lowest: health D−
86LebanonMarion County · 6,699 people45.7bottom 32.1%CStrongest: cost of living B+, schools B·lowest: health D
87RussellvilleLogan County · 7,454 people45.6bottom 31.9%CStrongest: cost of living A−, walkability B+·lowest: jobs & income D
88Sorghounincorporated, Daviess County · 2,960 people45.5bottom 31.5%CStrongest: jobs & income A−, schools B·lowest: walkability D−
89SimpsonvilleShelby County · 3,183 people45.4bottom 31.3%CStrongest: jobs & income A, hazard risk B+·lowest: safety C−
90LouisaLawrence County · 2,520 people45.3bottom 31.0%CStrongest: cost of living A, walkability B+·lowest: jobs & income D−
91MayfieldGraves County · 9,851 people45.0bottom 30.2%CStrongest: schools A−, cost of living B+·lowest: health D
95Westwoodunincorporated, Boyd County · 4,473 people44.2bottom 28.3%CStrongest: cost of living A, jobs & income B−·lowest: health D
96MorganfieldUnion County · 3,102 people44.0bottom 27.9%CStrongest: cost of living A−, safety B·lowest: health D
97Russell SpringsRussell County · 2,828 people44.0bottom 27.7%CStrongest: schools A, hazard risk A−·lowest: jobs & income D−
100HurstbourneJefferson County · 4,787 people43.7bottom 27.1%CStrongest: health A, jobs & income A·lowest: cost of living D
103LeitchfieldGrayson County · 7,015 people43.3bottom 26.1%CStrongest: cost of living B+, schools B·lowest: jobs & income D−
107HarrodsburgMercer County · 9,576 people42.8bottom 24.9%C−Strongest: cost of living A−, safety B−·lowest: walkability C−
108MonticelloWayne County · 5,721 people41.8bottom 22.9%C−Strongest: walkability B, safety B·lowest: health D−
110ScottsvilleAllen County · 4,673 people41.7bottom 22.7%C−Strongest: cost of living B+, hazard risk B·lowest: jobs & income D
111CarrolltonCarroll County · 3,964 people41.6bottom 22.5%C−Strongest: safety A−, cost of living B+·lowest: schools D
112LancasterGarrard County · 4,111 people41.2bottom 21.5%C−Strongest: hazard risk B+, cost of living B·lowest: health D−
114FlemingsburgFleming County · 3,005 people40.0bottom 19.1%C−Strongest: safety B+, cost of living B·lowest: jobs & income D−
116Central CityMuhlenberg County · 5,793 people39.8bottom 18.5%C−Strongest: cost of living B+, safety B+·lowest: jobs & income D
118CorbinWhitley County · 7,911 people39.1bottom 17.2%C−Strongest: walkability B−, schools B−·lowest: jobs & income D
122LondonLaurel County · 7,637 people38.2bottom 15.5%C−Strongest: schools A−, hazard risk A−·lowest: health D
123MiddletownJefferson County · 9,944 people37.7bottom 14.7%DStrongest: health A, jobs & income B+·lowest: schools D
125Calvert CityMarshall County · 2,510 people36.6bottom 12.9%DStrongest: cost of living B, safety C+·lowest: hazard risk C−
126EminenceHenry County · 2,823 people36.1bottom 12.1%DStrongest: hazard risk A−, cost of living B·lowest: health D
128MaysvilleMason County · 8,688 people33.7bottom 9.1%DStrongest: walkability A−, cost of living B·lowest: health D
129PrestonsburgFloyd County · 3,618 people33.3bottom 8.5%DStrongest: walkability A, safety B+·lowest: jobs & income D−
131BarbourvilleKnox County · 3,064 people33.1bottom 8.2%DStrongest: walkability B+, safety B·lowest: jobs & income D−
132HazardPerry County · 4,794 people32.9bottom 8.0%DStrongest: walkability A−, safety B−·lowest: hazard risk D−
133StantonPowell County · 3,153 people31.9bottom 6.8%DStrongest: safety B+, walkability B+·lowest: schools D
136PikevillePike County · 7,270 people29.5bottom 4.4%D−Strongest: walkability A−, safety B−·lowest: cost of living D−
137Oak GroveChristian County · 7,830 people26.8bottom 2.5%D−Strongest: cost of living B−, walkability C·lowest: jobs & income D
138MiddlesboroughBell County · 8,776 people19.6bottom 0.4%D−Strongest: walkability A−, cost of living C·lowest: hazard risk D−
Method

How this list is made

Each town’s overall grade blends seven livability grades: cost of living (weight 18), safety (18), schools (16), health (14), jobs & income (12), walkability (8) and hazard risk (4). A town needs 2,500+ residents and three of the first four. Letters are national, so an A here means the same as an A in any state; the list is the same towns in the same order, ranked within Kentucky. Towns without their own FBI figures are graded on the rest and their page says why.

Data years: crime 2023–2025 (FBI), Census ACS 2020–2024, CDC PLACES 2025, state school tests. How grades work

Left off: college campuses

Places where more than half the residents are college students (ACS) are graded like every town but kept off this list, since its figures mostly describe student life.

Quick answers

Questions people ask

What is the best small town in Kentucky?

Among 94 graded towns of 2,500 to 9,999 residents, Edgewood (Kenton County) ranks first, with an A+; jobs & income (A+) and schools (A) are its strongest grades; cost of living (B) is its lowest. Highland Heights and Park Hills follow.

How are these towns ranked?

By the overall grade, which blends seven livability grades from public data. The letter is national; the rank is within Kentucky. The full method is on How grades work.

Why isn’t my town on this list?

The list covers towns of 2,500 to 9,999 residents with an overall grade (94 in Kentucky). 96 smaller places have subject grades only; 3 towns of 2,500+ lack enough data for a grade; 1 college campus (Morehead) is left off. Larger towns are on the best places to live list. Every town is on the Kentucky page.

Go deeper

More Kentucky lists

Every list ranks the same 2,500+ towns, so a town’s rank means the same thing on each.

All Kentucky rankings →
Other states

Best small towns in other states