Ranked from official statistics; every city opens its own guide.
Click any dot to open that city: jobs, pay, rent, commute, county economy and climate. Dot size follows population; colours follow the state flag.
By AtiveSite · Published 07/11/2026 · Updated 07/11/2026 · Every figure is linked to its source below.
Among the 100 largest places in Pennsylvania, Franklin Park has the largest share of adults with a bachelor's degree (77.1%), followed by Bala Cynwyd and Ardmore. Click any column to sort; click a city for its guide.
Across the 100 places in Pennsylvania that we cover, the median is 30.9% and the average 33.3%; the figure runs from 77.1% (Franklin Park) to 10.8% (Hazleton). That is a spread of 7.1 times between the two ends. The state figure is 35.2%; 42 of the 100 places are above it and 58 at or below.
The first five are Franklin Park, Bala Cynwyd, Ardmore, State College, King of Prussia. A high or low position is not good or bad on its own: read it together with the other measures on the city pages. Use the Compare tab on each city page to see how two places differ across income, rent, commute and education, and check the county page for the local job market.
| # ⇅ | City ⇅ | County ⇅ | Bachelor's degree or higher ⇅ | Population ⇅ | Median household income ⇅ | Median rent ⇅ |
|---|---|---|---|---|---|---|
| 1 | Franklin Park | Allegheny County | 77.1% | 15,235 | $176,875 | $2,330 |
| 2 | Bala Cynwyd (unincorporated) | Montgomery County | 75.8% | 10,227 | $150,000 | $1,886 |
| 3 | Ardmore (unincorporated) | Montgomery County | 71.1% | 13,909 | $119,111 | $1,763 |
| 4 | State College | Centre County | 68.4% | 41,050 | $45,424 | $1,273 |
| 5 | King of Prussia (unincorporated) | Montgomery County | 65.7% | 25,857 | $117,912 | $2,077 |
| 6 | Allison Park (unincorporated) | Allegheny County | 61.8% | 22,045 | $113,822 | $1,222 |
| 7 | Montgomeryville (unincorporated) | Montgomery County | 60.5% | 13,388 | $131,345 | $1,993 |
| 8 | West Chester | Chester County | 59.1% | 20,666 | $78,385 | $1,731 |
| 9 | Wyomissing | Berks County | 57.8% | 11,172 | $93,203 | $1,781 |
| 10 | Phoenixville | Chester County | 56.9% | 19,452 | $102,138 | $1,735 |
| 11 | Murrysville | Westmoreland County | 56.7% | 20,817 | $121,823 | $1,587 |
| 12 | Bethel Park | Allegheny County | 53.5% | 32,881 | $107,090 | $1,311 |
| 13 | Carnot-Moon (unincorporated) | Allegheny County | 52.8% | 13,534 | $100,714 | $1,214 |
| 14 | Willow Street (unincorporated) | Lancaster County | 50.7% | 9,647 | $109,675 | $2,672 |
| 15 | Hershey (unincorporated) | Dauphin County | 50.2% | 14,242 | $78,587 | $1,268 |
| 16 | Pittsburgh | Allegheny County | 49.1% | 304,759 | $65,742 | $1,261 |
| 17 | Indiana | Indiana County | 48.9% | 14,212 | $40,857 | $849 |
| 18 | Monroeville | Allegheny County | 46.4% | 28,295 | $79,218 | $1,175 |
| 19 | Drexel Hill (unincorporated) | Delaware County | 46.0% | 30,451 | $88,168 | $1,357 |
| 20 | Mountain Top (unincorporated) | Luzerne County | 45.6% | 11,850 | $109,535 | $849 |
| 21 | Jefferson Hills | Allegheny County | 45.3% | 12,317 | $116,064 | $1,355 |
| 22 | Broomall (unincorporated) | Delaware County | 45.0% | 10,679 | $105,625 | $1,765 |
| 23 | Plum | Allegheny County | 45.0% | 26,723 | $98,705 | $1,177 |
| 24 | Horsham (unincorporated) | Montgomery County | 43.7% | 16,005 | $94,987 | $1,446 |
| 25 | East York (unincorporated) | York County | 43.2% | 9,388 | $88,021 | $1,356 |
| 26 | Whitehall | Allegheny County | 43.1% | 14,811 | $89,404 | $915 |
| 27 | Lititz | Lancaster County | 43.0% | 9,619 | $88,576 | $1,364 |
| 28 | Willow Grove (unincorporated) | Montgomery County | 42.9% | 14,131 | $98,064 | $1,765 |
| 29 | Mechanicsburg | Cumberland County | 42.9% | 9,720 | $84,421 | $1,083 |
| 30 | Lansdale | Montgomery County | 39.8% | 19,011 | $88,229 | $1,470 |
| 31 | Morrisville | Bucks County | 39.2% | 9,752 | $99,526 | $1,044 |
| 32 | Greensburg | Westmoreland County | 39.0% | 14,741 | $64,914 | $839 |
| 33 | Roslyn (unincorporated) | Montgomery County | 38.5% | 10,639 | $99,318 | $1,306 |
| 34 | Lansdowne | Delaware County | 38.4% | 11,122 | $73,232 | $1,304 |
| 35 | Carlisle | Cumberland County | 37.9% | 21,852 | $61,720 | $1,094 |
| 36 | Dunmore | Lackawanna County | 37.3% | 14,181 | $71,302 | $928 |
| 37 | Brentwood | Allegheny County | 37.2% | 9,866 | $68,904 | $860 |
| 38 | Wilkinsburg | Allegheny County | 36.7% | 14,027 | $46,416 | $1,025 |
| 39 | Bethlehem | Northampton County | 36.0% | 77,956 | $68,879 | $1,382 |
| 40 | Canonsburg | Washington County | 35.5% | 9,675 | $79,227 | $1,025 |
| 41 | Philadelphia | Philadelphia County | 35.4% | 1,579,706 | $61,953 | $1,397 |
| 42 | Hermitage | Mercer County | 35.2% | 16,041 | $70,052 | $896 |
| 43 | Baldwin | Allegheny County | 33.3% | 21,057 | $80,983 | $1,066 |
| 44 | Lower Burrell | Westmoreland County | 33.1% | 11,633 | $84,602 | $911 |
| 45 | Bloomsburg | Columbia County | 32.5% | 13,024 | $51,536 | $980 |
| 46 | Emmaus | Lehigh County | 32.1% | 11,889 | $83,917 | $1,389 |
| 47 | Kingston | Luzerne County | 31.7% | 13,397 | $55,347 | $1,038 |
| 48 | Progress (unincorporated) | Dauphin County | 31.4% | 11,017 | $73,030 | $1,233 |
| 49 | Elizabethtown | Lancaster County | 31.4% | 11,925 | $76,105 | $1,174 |
| 50 | Munhall | Allegheny County | 30.9% | 10,548 | $52,517 | $780 |
| 51 | Woodlyn (unincorporated) | Delaware County | 29.7% | 9,736 | $79,696 | $1,196 |
| 52 | Lancaster | Lancaster County | 29.4% | 57,719 | $63,690 | $1,240 |
| 53 | Easton | Northampton County | 28.2% | 29,739 | $69,348 | $1,325 |
| 54 | Chambersburg | Franklin County | 27.3% | 22,319 | $56,576 | $1,099 |
| 55 | Williamsport | Lycoming County | 26.9% | 27,612 | $48,851 | $855 |
| 56 | Northampton | Northampton County | 26.2% | 10,400 | $90,762 | $1,174 |
| 57 | Levittown (unincorporated) | Bucks County | 26.0% | 50,926 | $105,071 | $1,556 |
| 58 | Harrisburg | Dauphin County | 25.9% | 50,287 | $48,099 | $1,062 |
| 59 | Shiloh (unincorporated) | York County | 25.8% | 11,246 | $94,324 | $1,530 |
| 60 | Yeadon | Delaware County | 25.0% | 12,181 | $49,759 | $1,213 |
| 61 | Middletown | Dauphin County | 24.9% | 9,632 | $55,765 | $1,234 |
| 62 | Colonial Park (unincorporated) | Dauphin County | 24.6% | 18,032 | $73,105 | $1,392 |
| 63 | West Mifflin | Allegheny County | 24.6% | 19,190 | $76,563 | $780 |
| 64 | Norristown | Montgomery County | 23.5% | 35,893 | $66,701 | $1,422 |
| 65 | Ephrata | Lancaster County | 23.2% | 13,772 | $69,735 | $1,143 |
| 66 | Fullerton (unincorporated) | Lehigh County | 23.2% | 16,724 | $69,317 | $1,428 |
| 67 | Scranton | Lackawanna County | 23.1% | 76,033 | $50,739 | $1,048 |
| 68 | Erie | Erie County | 23.1% | 93,850 | $46,113 | $870 |
| 69 | Butler | Butler County | 23.0% | 13,212 | $44,247 | $818 |
| 70 | Weigelstown (unincorporated) | York County | 22.8% | 15,485 | $73,722 | $1,385 |
| 71 | Meadville | Crawford County | 22.7% | 12,577 | $43,308 | $855 |
| 72 | New Kensington | Westmoreland County | 22.5% | 12,011 | $49,063 | $751 |
| 73 | Pottsville | Schuylkill County | 21.9% | 13,364 | $54,332 | $822 |
| 74 | St. Marys | Elk County | 21.4% | 12,529 | $67,167 | $762 |
| 75 | Berwick | Columbia County | 21.3% | 10,317 | $49,800 | $797 |
| 76 | Pottstown | Montgomery County | 21.1% | 23,476 | $60,828 | $1,260 |
| 77 | Bristol | Bucks County | 20.9% | 9,902 | $76,042 | $1,409 |
| 78 | Uniontown | Fayette County | 20.7% | 9,742 | $35,454 | $774 |
| 79 | Altoona | Blair County | 20.5% | 43,196 | $51,250 | $819 |
| 80 | Wilkes-Barre | Luzerne County | 20.5% | 44,423 | $48,515 | $946 |
| 81 | Coatesville | Chester County | 19.8% | 13,353 | $59,256 | $1,471 |
| 82 | Allentown | Lehigh County | 19.1% | 125,976 | $55,494 | $1,317 |
| 83 | Washington | Washington County | 19.0% | 13,368 | $52,975 | $910 |
| 84 | Waynesboro | Franklin County | 18.9% | 11,047 | $66,956 | $1,086 |
| 85 | Nanticoke | Luzerne County | 18.6% | 10,653 | $57,462 | $792 |
| 86 | Sharon | Mercer County | 18.4% | 12,936 | $45,670 | $827 |
| 87 | York | York County | 17.5% | 44,938 | $48,420 | $1,014 |
| 88 | Columbia | Lancaster County | 17.4% | 10,278 | $54,437 | $1,075 |
| 89 | Oil City | Venango County | 16.4% | 9,468 | $51,316 | $821 |
| 90 | Croydon (unincorporated) | Bucks County | 16.4% | 9,684 | $70,308 | $1,312 |
| 91 | New Castle | Lawrence County | 16.3% | 21,579 | $42,219 | $741 |
| 92 | Hanover | York County | 15.9% | 16,584 | $61,293 | $1,137 |
| 93 | Lebanon | Lebanon County | 15.9% | 26,536 | $48,456 | $992 |
| 94 | Johnstown | Cambria County | 15.8% | 18,087 | $37,888 | $644 |
| 95 | Darby | Delaware County | 15.5% | 10,687 | $39,863 | $1,308 |
| 96 | Chester | Delaware County | 14.4% | 33,619 | $41,342 | $1,091 |
| 97 | Sunbury | Northumberland County | 11.6% | 9,617 | $51,028 | $738 |
| 98 | Reading | Berks County | 11.4% | 95,242 | $44,091 | $1,067 |
| 99 | McKeesport | Allegheny County | 11.0% | 17,380 | $34,219 | $848 |
| 100 | Hazleton | Luzerne County | 10.8% | 30,111 | $46,177 | $1,089 |
Largest Cities · Cities With the Cheapest Rent · Cities With the Highest Household Income · Cities Where Rent Takes the Smallest Share of Income · Cities With the Lowest Unemployment · Cities in the Highest-Paying Counties · Cities With the Most Homeowners · Cities With the Most Remote Work · Cities With the Shortest Commutes
Unincorporated places are census-designated places: they have no city government but are counted as communities. Figures describe the city itself.
Franklin Park, with 77.1% (among the 100 largest places; ACS 2020–2024).
The 100 largest places in Pennsylvania by population.