Elections / 2004 · President · PA
Pennsylvania — 2004 presidential election
state2004 presidential electionPennsylvania · PresidentKerryD+2.5
How it voted
Share of the 2004 vote
| John Kerry ✓Democratic | 51.0% | 2,938,095 |
|---|---|---|
| George W. BushRepublican | 48.5% | 2,793,847 |
| OtherAll other candidates | 0.6% | 34,178 |
2004presidential margin
D+60R+60
67 counties, each filled by 2004 D-vs-R margin. Hover any county for its result.
Pennsylvania cast 21 electoral votes this cycle.
County-level results (67 counties) — table
| County | Winner | Margin |
|---|---|---|
| Adams County, PA | Republican | R+34.3 |
| Allegheny County, PA | Democratic | D+15.0 |
| Armstrong County, PA | Republican | R+22.2 |
| Beaver County, PA | Democratic | D+2.7 |
| Bedford County, PA | Republican | R+46.7 |
| Berks County, PA | Republican | R+6.6 |
| Blair County, PA | Republican | R+32.6 |
| Bradford County, PA | Republican | R+32.6 |
| Bucks County, PA | Democratic | D+2.8 |
| Butler County, PA | Republican | R+29.1 |
| Cambria County, PA | Republican | R+2.2 |
| Cameron County, PA | Republican | R+33.5 |
| Carbon County, PA | Republican | R+1.2 |
| Centre County, PA | Republican | R+3.7 |
| Chester County, PA | Republican | R+4.5 |
| Clarion County, PA | Republican | R+29.2 |
| Clearfield County, PA | Republican | R+20.5 |
| Clinton County, PA | Republican | R+15.8 |
| Columbia County, PA | Republican | R+20.0 |
| Crawford County, PA | Republican | R+15.5 |
| Cumberland County, PA | Republican | R+28.0 |
| Dauphin County, PA | Republican | R+8.2 |
| Delaware County, PA | Democratic | D+14.8 |
| Elk County, PA | Republican | R+8.7 |
| Erie County, PA | Democratic | D+8.4 |
| Fayette County, PA | Democratic | D+7.4 |
| Forest County, PA | Republican | R+22.6 |
| Franklin County, PA | Republican | R+43.1 |
| Fulton County, PA | Republican | R+52.6 |
| Greene County, PA | Republican | R+0.7 |
| Huntingdon County, PA | Republican | R+34.6 |
| Indiana County, PA | Republican | R+12.2 |
| Jefferson County, PA | Republican | R+37.3 |
| Juniata County, PA | Republican | R+43.4 |
| Lackawanna County, PA | Democratic | D+14.0 |
| Lancaster County, PA | Republican | R+32.2 |
| Lawrence County, PA | Republican | R+1.3 |
| Lebanon County, PA | Republican | R+34.1 |
| Lehigh County, PA | Democratic | D+2.6 |
| Luzerne County, PA | Democratic | D+3.4 |
| Lycoming County, PA | Republican | R+36.5 |
| McKean County, PA | Republican | R+26.7 |
| Mercer County, PA | Republican | R+2.9 |
| Mifflin County, PA | Republican | R+40.7 |
| Monroe County, PA | Republican | R+0.01 |
| Montgomery County, PA | Democratic | D+11.6 |
| Montour County, PA | Republican | R+29.3 |
| Northampton County, PA | Democratic | D+1.1 |
| Northumberland County, PA | Republican | R+20.6 |
| Perry County, PA | Republican | R+43.7 |
| Philadelphia County, PA | Democratic | D+61.1 |
| Pike County, PA | Republican | R+17.8 |
| Potter County, PA | Republican | R+42.4 |
| Schuylkill County, PA | Republican | R+9.8 |
| Snyder County, PA | Republican | R+41.5 |
| Somerset County, PA | Republican | R+29.8 |
| Sullivan County, PA | Republican | R+25.7 |
| Susquehanna County, PA | Republican | R+22.2 |
| Tioga County, PA | Republican | R+37.5 |
| Union County, PA | Republican | R+28.7 |
| Venango County, PA | Republican | R+23.0 |
| Warren County, PA | Republican | R+15.3 |
| Washington County, PA | Democratic | D+0.6 |
| Wayne County, PA | Republican | R+25.7 |
| Westmoreland County, PA | Republican | R+12.5 |
| Wyoming County, PA | Republican | R+21.8 |
| York County, PA | Republican | R+28.2 |
Nominees: John Kerry (D) · George W. Bush (R)
Pennsylvania's presidential margins
1892–2024, the 2004 contest in context
| Year | Margin (D minus R) |
|---|---|
| 1892 | −6.4% |
| 1896 | −24.7% |
| 1900 | −24.6% |
| 1904 | −40.7% |
| 1908 | −23.4% |
| 1912 | +10.0% |
| 1916 | −14.0% |
| 1920 | −38.6% |
| 1924 | −46.3% |
| 1928 | −31.4% |
| 1932 | −5.5% |
| 1936 | +16.0% |
| 1940 | +6.9% |
| 1944 | +2.8% |
| 1948 | −4.0% |
| 1952 | −5.9% |
| 1956 | −13.2% |
| 1960 | +2.3% |
| 1964 | +30.2% |
| 1968 | +3.6% |
| 1972 | −20.0% |
| 1976 | +2.7% |
| 1980 | −7.1% |
| 1984 | −7.4% |
| 1988 | −2.3% |
| 1992 | +9.0% |
| 1996 | +9.2% |
| 2000 | +4.2% |
| 2004 | +2.5% |
| 2008 | +10.3% |
| 2012 | +5.4% |
| 2016 | −0.7% |
| 2020 | +1.2% |
| 2024 | −1.7% |
County-by-county results — 67 counties
| County | Won | Margin | Democratic | Republican | Total |
|---|---|---|---|---|---|
| Adams County | R | 13,764 | 28,247 | 42,228 | |
| Allegheny County | D | 368,912 | 271,925 | 645,469 | |
| Armstrong County | R | 12,025 | 18,925 | 31,097 | |
| Beaver County | D | 42,146 | 39,916 | 82,543 | |
| Bedford County | R | 6,016 | 16,606 | 22,679 | |
| Berks County | R | 76,309 | 87,122 | 164,487 | |
| Blair County | R | 18,105 | 35,751 | 54,178 | |
| Bradford County | R | 8,590 | 16,942 | 25,652 | |
| Bucks County | D | 163,438 | 154,469 | 319,816 | |
| Butler County | R | 30,090 | 54,959 | 85,425 | |
| Cambria County | R | 32,591 | 34,048 | 66,983 | |
| Cameron County | R | 794 | 1,599 | 2,406 | |
| Carbon County | R | 12,223 | 12,519 | 25,043 | |
| Centre County | R | 30,733 | 33,133 | 64,374 | |
| Chester County | R | 109,708 | 120,036 | 230,823 | |
| Clarion County | R | 6,049 | 11,063 | 17,184 | |
| Clearfield County | R | 13,518 | 20,533 | 34,233 | |
| Clinton County | R | 5,823 | 8,035 | 13,967 | |
| Columbia County | R | 10,679 | 16,052 | 26,869 | |
| Crawford County | R | 16,013 | 21,965 | 38,322 | |
| Cumberland County | R | 37,928 | 67,648 | 106,082 | |
| Dauphin County | R | 55,299 | 65,296 | 121,208 | |
| Delaware County | D | 162,601 | 120,425 | 284,538 | |
| Elk County | R | 6,602 | 7,872 | 14,550 | |
| Erie County | D | 67,921 | 57,372 | 125,898 | |
| Fayette County | D | 29,120 | 25,045 | 54,707 | |
| Forest County | R | 989 | 1,571 | 2,573 | |
| Franklin County | R | 16,562 | 41,817 | 58,569 | |
| Fulton County | R | 1,475 | 4,772 | 6,271 | |
| Greene County | R | 7,674 | 7,786 | 15,565 | |
| Huntingdon County | R | 5,879 | 12,126 | 18,058 | |
| Indiana County | R | 15,831 | 20,254 | 36,248 | |
| Jefferson County | R | 6,073 | 13,371 | 19,560 | |
| Juniata County | R | 2,797 | 7,144 | 10,006 | |
| Lackawanna County | D | 59,573 | 44,766 | 105,819 | |
| Lancaster County | R | 74,328 | 145,591 | 221,372 | |
| Lawrence County | R | 21,387 | 21,938 | 43,442 | |
| Lebanon County | R | 18,109 | 37,089 | 55,665 | |
| Lehigh County | D | 73,940 | 70,160 | 145,091 | |
| Luzerne County | D | 69,573 | 64,953 | 136,028 | |
| Lycoming County | R | 15,681 | 33,961 | 50,081 | |
| McKean County | R | 6,294 | 10,941 | 17,426 | |
| Mercer County | R | 24,831 | 26,311 | 51,564 | |
| Mifflin County | R | 4,889 | 11,726 | 16,802 | |
| Monroe County | R | 27,967 | 27,971 | 56,342 | |
| Montgomery County | D | 222,048 | 175,741 | 399,591 | |
| Montour County | R | 2,666 | 4,903 | 7,624 | |
| Northampton County | D | 63,446 | 62,102 | 126,849 | |
| Northumberland County | R | 14,602 | 22,262 | 37,134 | |
| Perry County | R | 5,423 | 13,919 | 19,427 | |
| Philadelphia County | D | 542,205 | 130,099 | 674,069 | |
| Pike County | R | 8,656 | 12,444 | 21,299 | |
| Potter County | R | 2,268 | 5,640 | 7,962 | |
| Schuylkill County | R | 29,231 | 35,640 | 65,269 | |
| Snyder County | R | 4,348 | 10,566 | 14,983 | |
| Somerset County | R | 12,842 | 23,802 | 36,778 | |
| Sullivan County | R | 1,213 | 2,056 | 3,285 | |
| Susquehanna County | R | 7,351 | 11,573 | 19,040 | |
| Tioga County | R | 5,437 | 12,019 | 17,571 | |
| Union County | R | 5,700 | 10,334 | 16,123 | |
| Venango County | R | 9,024 | 14,472 | 23,659 | |
| Warren County | R | 8,044 | 10,999 | 19,273 | |
| Washington County | D | 48,225 | 47,673 | 96,177 | |
| Wayne County | R | 8,060 | 13,713 | 21,967 | |
| Westmoreland County | R | 77,774 | 100,087 | 178,696 | |
| Wyoming County | R | 4,982 | 7,782 | 12,832 | |
| York County | R | 63,701 | 114,270 | 179,269 |
Same ballot, 2004PA
Source. MIT Election Data + Science Lab — 2004 presidential returns · official county-level results. Real returns — nothing estimated.