9 cities
| City | Rank | 2026 Pop. ↓ | 2020 Pop. | Annual Change | Density | Area (mi²) | Type |
|---|---|---|---|---|---|---|---|
| Madisonville | 1 | 19,436 | 19,634 | -0.17% | 1,047 | 19 | City |
| Dawson Springs | 2 | 2,154 | 2,454 | -2.27% | 561 | 4 | City |
| Earlington | 3 | 1,255 | 1,260 | -0.08% | 445 | 3 | City |
| Nortonville | 4 | 992 | 974 | 0.3% | 856 | 1 | City |
| White Plains | 5 | 856 | 829 | 0.59% | 263 | 3 | City |
| Mortons Gap | 6 | 725 | 721 | 0.14% | 586 | 1 | City |
| Hanson | 7 | 713 | 742 | -0.7% | 328 | 2 | City |
| St. Charles | 8 | 286 | 274 | 0.7% | 288 | 1 | City |
| Nebo | 9 | 212 | 208 | 0.47% | 855 | 0 | City |
Madisonville is the largest city in Hopkins County, with a population of 19,436.
Nebo is the smallest city in Hopkins County, with a population of 212.
There are 9 cities in Hopkins County, Kentucky.