25 cities
| City | Rank | 2026 Pop. ↓ | 2020 Pop. | Annual Change | Density | Area (mi²) | Type |
|---|---|---|---|---|---|---|---|
| Bradford | 1 | 7,387 | 7,839 | -1.01% | 2,221 | 3 | City |
| Bradford | 2 | 4,623 | 4,795 | -0.28% | 83 | 56 | Township |
| Foster | 3 | 3,873 | 4,038 | -0.31% | 84 | 46 | Township |
| Kane | 4 | 3,418 | 3,630 | -1.01% | 2,184 | 2 | Borough |
| Bradford | 5 | 2,776 | 2,832 | -0.5% | 72 | 38 | Township |
| Keating | 6 | 2,649 | 2,721 | -0.15% | 27 | 98 | Township |
| Eldred | 7 | 2,620 | 2,599 | 0.38% | 107 | 25 | Township |
| Lafayette | 8 | 2,219 | 1,763 | 2.54% | 31 | 71 | Township |
| Port Allegany | 9 | 2,013 | 2,135 | -0.98% | 1,135 | 2 | Borough |
| Eldred | 10 | 1,962 | 1,995 | -0.15% | 138 | 14 | Township |
| Wetmore | 11 | 1,579 | 1,616 | -0.32% | 20 | 79 | Township |
| Otto | 12 | 1,457 | 1,519 | -0.34% | 42 | 35 | Township |
| Smethport | 13 | 1,352 | 1,435 | -1.02% | 804 | 2 | Borough |
| Eldred | 14 | 1,339 | 1,393 | -0.37% | 35 | 39 | Township |
| Eldred | 15 | 1,222 | 1,273 | -0.73% | 26 | 47 | Township |
| Mount Jewett | 16 | 818 | 853 | -0.73% | 340 | 2 | Borough |
| Ceres | 17 | 805 | 841 | -0.37% | 20 | 40 | Township |
| Annin | 18 | 729 | 707 | 1.25% | 22 | 33 | Township |
| Eldred | 19 | 722 | 708 | 0.28% | 32 | 22 | Township |
| Eldred | 20 | 710 | 760 | -1.11% | 811 | 1 | Borough |
| Eldred | 21 | 559 | 588 | -1.06% | 15 | 36 | Township |
| Lewis Run | 22 | 546 | 579 | -0.91% | 299 | 2 | Borough |
| Norwich | 23 | 496 | 505 | 0.4% | 5 | 95 | Township |
| Corydon | 24 | 279 | 285 | 0% | 4 | 73 | Township |
| Sergeant | 25 | 137 | 148 | -1.44% | 2 | 80 | Township |
Bradford is the largest city in McKean County, with a population of 7,387.
Sergeant is the smallest city in McKean County, with a population of 137.
There are 25 cities in McKean County, Pennsylvania.