Pennsylvania's 2,573 Tax Jurisdictions
Pennsylvania has more local taxing jurisdictions than any other state. Under Act 32 (enacted in 2008), every municipality and school district in Pennsylvania can levy a Local Earned Income Tax (EIT) on wages. The result: 2,573+ municipalities, each with its own tax rate, feeding into a system of Tax Collection Districts (TCDs).
For developers building payroll systems, Pennsylvania is the volume challenge. While Ohio is complex because of its three collection systems and Kentucky has stacking rules, Pennsylvania simply has more jurisdictions than everything else combined.
How Pennsylvania EIT Works
The Basics
- Every PA municipality levies an EIT on earned income (wages, salaries, commissions, net business income)
- Rates consist of a resident rate (where the employee lives) and a non-resident rate (where the employee works)
- Under Act 32, the non-resident rate for most municipalities is standardized at 1.0%
- Some municipalities have higher rates, especially major cities
Rate Structure
Most Pennsylvania municipalities follow a standard pattern:
| Rate Type | Standard | Philadelphia | Scranton | Reading |
|---|---|---|---|---|
| Resident rate | 1.0-2.0% | 3.4481% | 3.4% | 3.6% |
| Non-resident rate | 1.0% | 3.4481% | 1.0% | 1.3% |
The vast majority of PA's 2,573 municipalities charge the standard 1.0% non-resident rate. The exceptions are the major cities:
High-rate cities (2024-2026):
- Philadelphia: 3.4481% (both resident and non-resident — the highest in PA)
- Reading: 3.6% resident / 1.3% non-resident
- Scranton: 3.4% resident / 1.0% non-resident
- Pittsburgh: 3.0% resident / 1.0% non-resident
- Bethlehem: 1.0% resident / 1.0% non-resident (standard rate despite being a major city)
PSD Codes — The Critical Identifier
Every Pennsylvania municipality and school district is assigned a Political Subdivision Code (PSD). This 6-digit code uniquely identifies the taxing jurisdiction. PSD codes are essential because:
- Municipality names are ambiguous: There are multiple "Washington Township" entries in PA. The PSD code resolves the ambiguity.
- Tax Collection Districts use PSD codes for filing and reporting
- Employee W-4 forms in PA should include the PSD code
The PSD code format is: XX-YYYY where XX is the county number and YYYY is the municipality/school district number within that county.
Tax Collection Districts (TCDs)
Act 32 created Tax Collection Districts — regional agencies that collect EIT on behalf of multiple municipalities. Rather than each municipality collecting its own tax, TCDs handle collection for their region.
Key implications for payroll developers:
- Filing is per TCD, not per municipality
- An employer may file with multiple TCDs if they have employees in different districts
- TCDs publish rate tables for all municipalities in their district
- Quarterly filing is standard for most employers
Major TCDs include:
- Berkheimer Tax Administrator (central/eastern PA)
- Keystone Collections Group (western PA)
- York Adams Tax Bureau
- Lancaster County Tax Collection Bureau
Resident vs. Non-Resident Tax Rules
Pennsylvania's EIT has a specific priority system:
- Work location determines the non-resident tax — the municipality where the employee physically works sets the non-resident rate
- Residence location determines the resident tax — the municipality where the employee lives sets the resident rate
- The higher of the two rates applies — if the resident rate exceeds the non-resident rate, the employee owes the difference to their home municipality
- Credits: The non-resident tax paid to the work municipality is credited against the resident municipality's tax
Example: Employee lives in Pittsburgh (resident rate 3.0%) and works in a suburb (non-resident rate 1.0%):
- Pays work municipality: 1.0%
- Credit applied to Pittsburgh: 1.0%
- Net owed to Pittsburgh: 3.0% - 1.0% = 2.0%
- Total EIT: 3.0%
Example: Employee lives in a 1.0% suburb and works in Philadelphia (3.4481%):
- Pays Philadelphia: 3.4481%
- Credit applied to home suburb: exceeds the 1.0% rate
- Net owed to suburb: $0
- Total EIT: 3.4481%
Implementation Guide for Developers
Data You Need Per Employee
For each Pennsylvania employee, you need:
- Home PSD code (or home address for lookup)
- Work PSD code (or work address for lookup)
- Home municipality EIT rate (resident rate)
- Work municipality EIT rate (non-resident rate)
- TCD for home municipality (for filing)
- TCD for work municipality (for filing)
API Integration
# Look up PA EIT rate for an employee working in Philadelphia
curl "https://payroll-tax-api-9f4b18020da9.herokuapp.com/v1/rates/lookup\
?workState=PA&workCity=Philadelphia\
&payDate=2026-01-01&filingStatus=single" \
-H "Authorization: Bearer ptx_free_your_key"
The API returns the local income tax rate for the specified municipality along with state and federal taxes.
Handling the 2,573 Municipalities
The naive approach — hardcoding a lookup table of all 2,573 municipalities — is technically possible but creates a maintenance burden. Rates can change annually, and municipality boundaries occasionally shift.
Better approaches:
- Query an API by city name and let the API handle the lookup
- Use PSD codes as the primary identifier, falling back to city name search
- Cache rates per pay period — rates don't change mid-year for most municipalities
Common Pitfalls
Don't use ZIP codes for PA. ZIP codes cross municipality boundaries extensively in PA. A single ZIP code can contain 3-5 different municipalities with different rates.
Don't assume 1.0% for everyone. While most municipalities charge 1.0% non-resident, the exceptions (Philadelphia, Pittsburgh, Scranton, Reading) are also the municipalities with the most employees.
Don't forget school district taxes. Pennsylvania school districts can levy their own EIT, separate from the municipality EIT. This is a separate tax with a separate rate.
Handle Act 32 correctly. The resident/non-resident credit calculation must follow the Act 32 rules. Simply withholding the higher rate is not correct — both municipalities may expect some portion.
Rate Stability 2024-2026
Pennsylvania EIT rates have been relatively stable across 2024-2026:
- Philadelphia: Maintained 3.4481% for both residents and non-residents throughout the period
- Pittsburgh: Stable at 3.0% resident / 1.0% non-resident
- Standard municipalities: The 1.0% non-resident rate remained standard under Act 32
- No major structural changes to the Act 32 framework during this period
The stability is partly because Act 32 standardized the system — changes now require municipal ordinance amendments rather than simple administrative updates.
Coverage in PayrollTax API
PayrollTax API includes all 2,573+ Pennsylvania municipalities sourced from the US Census Bureau's county subdivision data, with EIT rates applied based on Act 32 rules. Major cities have specific rates; standard municipalities use the 1.0% non-resident default.
Get a free API key and query PA EIT rates for any municipality instantly.