| City | Rank | 2026 Pop. ↓ | 2020 Pop. | Annual Change | Density (/mi²) | Area (mi²) | Type |
|---|---|---|---|---|---|---|---|
| Bradford | 1 | 7,361 | 7,830 | -1.09% | 2,213 | 3 | City |
| Bradford | 2 | 4,446 | 4,797 | -0.56% | 80 | 56 | Township |
| Foster | 3 | 3,840 | 4,042 | -0.72% | 83 | 46 | Township |
| Kane | 4 | 3,425 | 3,644 | -1.1% | 2,188 | 2 | Borough |
| Bradford | 5 | 2,795 | 2,832 | -0.04% | 73 | 38 | Township |
| Eldred | 6 | 2,616 | 2,601 | 0.11% | 107 | 25 | Township |
| Keating | 7 | 2,611 | 2,720 | -0.76% | 27 | 98 | Township |
| Lafayette | 8 | 2,023 | 1,768 | -2.32% | 28 | 71 | Township |
| Port Allegany | 9 | 2,009 | 2,135 | -1.08% | 1,133 | 2 | Borough |
| Eldred | 10 | 1,965 | 1,996 | -0.15% | 138 | 14 | Township |
| Wetmore | 11 | 1,558 | 1,602 | -0.57% | 20 | 79 | Township |
| Otto | 12 | 1,461 | 1,540 | -0.88% | 42 | 35 | Township |
| Smethport | 13 | 1,346 | 1,420 | -0.96% | 801 | 2 | Borough |
| Eldred | 14 | 1,332 | 1,393 | -0.67% | 35 | 39 | Township |
| Eldred | 15 | 1,237 | 1,272 | -0.16% | 27 | 47 | Township |
| Mount Jewett | 16 | 822 | 852 | -0.72% | 342 | 2 | Borough |
| Ceres | 17 | 798 | 842 | -0.87% | 20 | 40 | Township |
| Annin | 18 | 727 | 707 | 1.25% | 22 | 33 | Township |
| Eldred | 19 | 717 | 706 | 0.14% | 32 | 22 | Township |
| Eldred | 20 | 711 | 760 | -1.25% | 813 | 1 | Borough |
| Eldred | 21 | 563 | 586 | -0.71% | 16 | 36 | Township |
| Lewis Run | 22 | 543 | 579 | -1.27% | 297 | 2 | Borough |
| Norwich | 23 | 491 | 505 | -0.2% | 5.0 | 95 | Township |
| Corydon | 24 | 274 | 285 | -0.72% | 4.0 | 73 | Township |
| Sergeant | 25 | 136 | 140 | 0.74% | 2.0 | 80 | Township |
Bradford is the largest city in McKean County, with a population of 7,361.
Sergeant is the smallest city in McKean County, with a population of 136.
There are 25 cities in McKean County, Pennsylvania.