Jordan Peacock · July 20, 2026 · 8 min read
PA Resident PSD Code Lookup: Codes by Municipality + EIT Rate
Resident PSD code table for every Allegheny and Butler County municipality, plus how to find your Total Resident EIT Rate for the Residency Certification Form.
Disclaimer: This is educational information. Always verify specifics with your CPA or tax advisor. Tax rates and filing requirements can change, and your situation may have nuances that only a qualified professional can address.
The Two-Minute Answer
Your EIT rate is the percentage of your wages that goes to local Earned Income Tax in Pennsylvania, typically 1% to 3% depending on your municipality. Your PSD code is the 6-digit number that tells the tax system exactly which municipality and school district you live in. You need both for the Residency Certification Form every new PA employee fills out.
Both come from the same place: the state's official lookup tool at apps.dced.pa.gov/munstats-public (the PA Department of Community and Economic Development's Municipal Statistics site, formerly munstats.pa.gov). Enter your home and work addresses, and it returns your PSD code, your Total Resident EIT Rate, the nonresident rate where you work, and the LST amount. Two minutes, done, and it's the current year's official number rather than whatever a coworker remembered from 2023. If you just need the resident PSD code and already know your town, skip ahead to the Allegheny and Butler County lookup tables below.
Resident PSD Code Lookup Table: Allegheny and Butler Counties
If you already know your municipality and school district, you don't need to type an address anywhere. Find your row below and copy the six-digit code. Both tables come straight from the DCED's official PSD Codes and EIT Rates list, sorted by municipality so you can scan for your town (or use the filter box). A few municipalities show up more than once. That's not a mistake, it means the town is split between school districts, and your school district picks the code. The City of Pittsburgh, for example, is mostly 700102 (Pittsburgh SD), but a small slice sits in Baldwin-Whitehall SD under 730105. When in doubt, run your street address through the official DCED address lookup, which also returns your Total Resident EIT Rate.
Allegheny County resident PSD codes (135 entries)
| Municipality | School District | Resident PSD Code |
|---|---|---|
| Aleppo Twp | Quaker Valley SD | 711101 |
| Aspinwall Boro | Fox Chapel Area SD | 710401 |
| Avalon Boro | Northgate SD | 710901 |
| Baldwin Boro | Baldwin-Whitehall SD | 730101 |
| Baldwin Twp | Baldwin-Whitehall SD | 730102 |
| Bell Acres Boro | Quaker Valley SD | 711102 |
| Bellevue Boro | Northgate SD | 710902 |
| Ben Avon Boro | Avonworth SD | 710201 |
| Ben Avon Heights Boro | Avonworth SD | 710202 |
| Bethel Park Boro | Bethel Park SD | 730201 |
| Blawnox Boro | Fox Chapel Area SD | 710402 |
| Brackenridge Boro | Highlands SD | 710601 |
| Braddock Boro | Woodland Hills SD | 721001 |
| Braddock Hills Boro | Woodland Hills SD | 721002 |
| Bradford Woods Boro | North Allegheny SD | 710701 |
| Brentwood Boro | Brentwood Borough SD | 730301 |
| Bridgeville Boro | Chartiers Valley SD | 730501 |
| Carnegie Boro | Carlynton SD | 730401 |
| Castle Shannon Boro | Bethel Park SD | 730202 |
| Castle Shannon Boro | Keystone Oaks SD | 730901 |
| Chalfant Boro | Woodland Hills SD | 721003 |
| Cheswick Boro | Allegheny Valley SD | 710101 |
| Churchill Boro | Woodland Hills SD | 721004 |
| Clairton City | Clairton City SD | 730601 |
| Collier Twp | Chartiers Valley SD | 730502 |
| Coraopolis Boro | Cornell SD | 730701 |
| Crafton Boro | Carlynton SD | 730402 |
| Crescent Twp | Moon Area SD | 731101 |
| Dormont Boro | Keystone Oaks SD | 730902 |
| Dravosburg Boro | McKeesport Area SD | 720401 |
| Duquesne City | Duquesne City SD | 730801 |
| East Deer Twp | Deer Lakes SD | 710301 |
| East McKeesport Boro | East Allegheny SD | 720101 |
| East Pittsburgh Boro | Woodland Hills SD | 721005 |
| Edgewood Boro | Woodland Hills SD | 721006 |
| Edgeworth Boro | Quaker Valley SD | 711103 |
| Elizabeth Boro | Elizabeth Forward SD | 720201 |
| Elizabeth Twp | Elizabeth Forward SD | 720202 |
| Emsworth Boro | Avonworth SD | 710203 |
| Etna Boro | Shaler Area SD | 711201 |
| Fawn Twp | Highlands SD | 710602 |
| Findlay Twp | West Allegheny SD | 731801 |
| Forest Hills Boro | Woodland Hills SD | 721007 |
| Forward Twp | Elizabeth Forward SD | 720203 |
| Fox Chapel Boro | Fox Chapel Area SD | 710403 |
| Franklin Park Boro | North Allegheny SD | 710702 |
| Frazer Twp | Deer Lakes SD | 710302 |
| Glen Osborne Boro (Osborne) | Quaker Valley SD | 711108 |
| Glassport Boro | South Allegheny SD | 720801 |
| Glenfield Boro | Quaker Valley SD | 711104 |
| Green Tree Boro | Keystone Oaks SD | 730903 |
| Hampton Twp | Hampton Township SD | 710501 |
| Harmar Township | Allegheny Valley SD | 710102 |
| Harrison Twp | Highlands SD | 710603 |
| Haysville Boro | Quaker Valley SD | 711105 |
| Heidelberg Boro | Chartiers Valley SD | 730503 |
| Homestead Boro | Steel Valley SD | 731501 |
| Indiana Twp | Fox Chapel Area SD | 710404 |
| Ingram Boro | Montour SD | 731001 |
| Jefferson Hills Boro | West Jefferson Hills SD | 731901 |
| Kennedy Twp | Montour SD | 731002 |
| Kilbuck Twp | Avonworth SD | 710204 |
| Leet Twp | Quaker Valley SD | 711106 |
| Leetsdale Boro | Quaker Valley SD | 711107 |
| Liberty Boro | South Allegheny SD | 720802 |
| Lincoln Boro | South Allegheny SD | 720803 |
| Marshall Twp | North Allegheny SD | 710703 |
| McCandless Twp | North Allegheny SD | 710704 |
| McDonald Boro | Fort Cherry SD | 630901 |
| McKees Rocks Boro | Sto-Rox SD | 731601 |
| McKeesport City | McKeesport Area SD | 720402 |
| Millvale Boro | Shaler Area SD | 711202 |
| Monroeville Boro | Gateway SD | 720301 |
| Moon Twp | Moon Area SD | 731102 |
| Mount Oliver Boro | Pittsburgh SD | 700101 |
| Mt. Lebanon Twp | Mt. Lebanon SD | 731201 |
| Munhall Boro | Steel Valley SD | 731502 |
| Neville Twp | Cornell SD | 730702 |
| North Braddock Boro | Woodland Hills SD | 721008 |
| North Fayette Twp | West Allegheny SD | 731802 |
| North Versailles Twp | East Allegheny SD | 720102 |
| O'Hara Twp | Fox Chapel Area SD | 710405 |
| Oakdale Boro | West Allegheny SD | 731803 |
| Oakmont Boro | Riverview SD | 720701 |
| Ohio Twp | Avonworth SD | 710205 |
| Penn Hills Twp | Penn Hills SD | 720501 |
| Pennsbury Village Boro | Montour SD | 731003 |
| Pine Twp | Pine-Richland SD | 711001 |
| Pitcairn Boro | Gateway SD | 720302 |
| Pittsburgh City | Baldwin-Whitehall SD | 730105 |
| Pittsburgh City | Pittsburgh SD | 700102 |
| Pleasant Hills Boro | Baldwin-Whitehall SD | 730103 |
| Pleasant Hills Boro | West Jefferson Hills SD | 731902 |
| Plum Boro | Plum Borough SD | 720601 |
| Port Vue Boro | South Allegheny SD | 720804 |
| Rankin Boro | Woodland Hills SD | 721009 |
| Reserve Twp | Shaler Area SD | 711203 |
| Richland Twp | Pine-Richland SD | 711002 |
| Robinson Twp | Montour SD | 731004 |
| Ross Twp | North Hills SD | 710801 |
| Rosslyn Farms Boro | Carlynton SD | 730403 |
| Scott Twp | Chartiers Valley SD | 730504 |
| Sewickley Boro | Quaker Valley SD | 711109 |
| Sewickley Heights Boro | Quaker Valley SD | 711110 |
| Sewickley Hills Boro | Quaker Valley SD | 711111 |
| Shaler Twp | Shaler Area SD | 711204 |
| Sharpsburg Boro | Fox Chapel Area SD | 710406 |
| South Fayette Twp | South Fayette Township SD | 731301 |
| South Park Twp | South Park SD | 731401 |
| South Versailles Twp | McKeesport Area SD | 720403 |
| South Versailles Twp | Norwin SD | 651404 |
| Springdale Boro | Allegheny Valley SD | 710103 |
| Springdale Twp | Allegheny Valley SD | 710104 |
| Stowe Twp | Sto-Rox SD | 731602 |
| Swissvale Boro | Woodland Hills SD | 721010 |
| Tarentum Boro | Highlands SD | 710604 |
| Thornburg Boro | Montour SD | 731005 |
| Trafford Boro | Penn-Trafford SD | 651504 |
| Turtle Creek Boro | Woodland Hills SD | 721011 |
| Upper St. Clair Twp | Upper Saint Clair SD | 731701 |
| Verona Boro | Riverview SD | 720702 |
| Versailles Boro | McKeesport Area SD | 720404 |
| Wall Boro | East Allegheny SD | 720103 |
| West Deer Twp | Deer Lakes SD | 710303 |
| West Elizabeth Boro | West Jefferson Hills SD | 731903 |
| West Homestead Boro | Steel Valley SD | 731503 |
| West Mifflin Boro | West Mifflin Area SD | 732001 |
| West View Boro | North Hills SD | 710802 |
| Whitaker Boro | West Mifflin Area SD | 732002 |
| White Oak Boro | McKeesport Area SD | 720405 |
| White Oak Boro | Norwin SD | 651405 |
| Whitehall Boro | Baldwin-Whitehall SD | 730104 |
| Wilkins Twp | Woodland Hills SD | 721012 |
| Wilkinsburg Boro | Wilkinsburg Borough SD | 720901 |
| Wilmerding Boro | East Allegheny SD | 720104 |
Butler County resident PSD codes (57 entries)
| Municipality | School District | Resident PSD Code |
|---|---|---|
| Adams Twp | Mars Area SD | 100401 |
| Allegheny Twp | Allegheny-Clarion Valley SD | 160103 |
| Brady Twp | Slippery Rock Area SD | 100601 |
| Bruin Boro | Karns City Area SD | 100304 |
| Buffalo Twp | Freeport Area SD | 100203 |
| Butler City | Butler Area SD | 100101 |
| Butler Twp | Butler Area SD | 100102 |
| Callery Boro | Seneca Valley SD | 100801 |
| Center Twp | Butler Area SD | 100103 |
| Cherry Twp | Moniteau SD | 100501 |
| Cherry Valley Boro | Moniteau SD | 100502 |
| Chicora Boro | Karns City Area SD | 100305 |
| Clay Twp | Moniteau SD | 100503 |
| Clearfield Twp | Butler Area SD | 100104 |
| Clinton Twp | South Butler County SD | 100701 |
| Concord Twp | Moniteau SD | 100504 |
| Connoquenessing Boro | Butler Area SD | 100105 |
| Connoquenessing Twp | Butler Area SD | 100106 |
| Cranberry Twp | Seneca Valley SD | 100802 |
| Donegal Twp | Karns City Area SD | 100306 |
| East Butler Boro | Butler Area SD | 100107 |
| Eau Claire Boro | Moniteau SD | 100505 |
| Evans City Boro | Seneca Valley SD | 100803 |
| Fairview Boro | Karns City Area SD | 100307 |
| Fairview Twp | Karns City Area SD | 100308 |
| Forward Twp | Seneca Valley SD | 100804 |
| Franklin Twp | Slippery Rock Area SD | 100602 |
| Harmony Boro | Seneca Valley SD | 100805 |
| Harrisville Boro | Slippery Rock Area SD | 100603 |
| Jackson Twp | Seneca Valley SD | 100806 |
| Jefferson Twp | South Butler County SD | 100702 |
| Karns City Boro | Karns City Area SD | 100309 |
| Lancaster Twp | Seneca Valley SD | 100807 |
| Marion Twp | Moniteau SD | 100506 |
| Mars Boro | Mars Area SD | 100402 |
| Mercer Twp | Slippery Rock Area SD | 100604 |
| Middlesex Twp | Mars Area SD | 100403 |
| Muddy Creek Twp | Slippery Rock Area SD | 100605 |
| Oakland Twp | Butler Area SD | 100108 |
| Parker Twp | Karns City Area SD | 100310 |
| Penn Twp | South Butler County SD | 100703 |
| Petrolia Boro | Karns City Area SD | 100311 |
| Portersville Boro | Slippery Rock Area SD | 100606 |
| Prospect Boro | Slippery Rock Area SD | 100607 |
| Saxonburg Boro | South Butler County SD | 100704 |
| Seven Fields Boro | Seneca Valley SD | 100808 |
| Slippery Rock Boro | Slippery Rock Area SD | 100608 |
| Slippery Rock Twp | Slippery Rock Area SD | 100609 |
| Summit Twp | Butler Area SD | 100109 |
| Valencia Boro | Mars Area SD | 100404 |
| Venango Twp | Moniteau SD | 100507 |
| Washington Twp | Moniteau SD | 100508 |
| West Liberty Boro | Slippery Rock Area SD | 100610 |
| West Sunbury Boro | Moniteau SD | 100509 |
| Winfield Twp | South Butler County SD | 100705 |
| Worth Twp | Slippery Rock Area SD | 100611 |
| Zelienople Boro | Seneca Valley SD | 100809 |
Live or work outside these two counties? The DCED list covers all 67 counties, and the address lookup above works statewide. And remember the codes tell the system where you live; the rate is a separate number. Cranberry Township (100802) pays a 1.0% total resident EIT, the City of Pittsburgh (700102) pays 3.0%, and most other Pittsburgh suburbs land between 1.0% and 1.5%.
What Does "Total Resident EIT Rate" Actually Mean?
It's your municipality's resident tax rate plus your school district's rate, combined into one number. Pennsylvania lets both your township (or borough, or city) and your school district tax your earned income, and the form wants the total.
Two real examples from our corner of the state:
- Cranberry Township: 1.0% total. That's 0.5% to the township and 0.5% to the Seneca Valley School District.
- City of Pittsburgh: 3.0% total for residents. That's 1% to the city and 2% to Pittsburgh Public Schools.
Most Pittsburgh-area suburbs land between 1% and 1.5%. Statewide, over 2,500 municipalities each set their own rate, which is exactly why the lookup tool exists and why you shouldn't guess.
What Is a PSD Code?
PSD stands for Political Subdivision. It's a 6-digit code that uniquely identifies where you live for local tax purposes. The structure is logical once you see it:
- First 2 digits: the tax collection district (roughly, your county's collection region)
- Middle 2 digits: your school district within that region
- Last 2 digits: your specific municipality
Your payroll department uses your resident PSD code to route your withheld tax to the right collector, and the collector uses it to split the money between your township and school district. A wrong PSD code means your money goes to the wrong municipality, and unwinding that is a genuine headache. We've seen it take months.
What Is a Resident PSD Code?
Your resident PSD code is the 6-digit political subdivision code for the municipality where you live, not where you work. It tells your employer's payroll system which township or borough and which school district get your Earned Income Tax. To find yours, enter your home address at the DCED lookup and copy the "Resident PSD Code" it returns. It goes in the "Resident PSD Code" box on the Residency Certification Form. If you move, you get a new one and need to file a new form.
The form also asks for your work location PSD code (where your employer is). Both matter because Pennsylvania withholds at the higher of two rates, which brings us to the part that confuses everyone.
Resident Rate vs. Nonresident Rate: The Higher-of Rule
Every municipality actually publishes two EIT rates:
- a resident rate for people who live there, and
- a nonresident rate for people who only work there.
Your employer withholds at whichever is higher: your home municipality's resident rate or your work municipality's nonresident rate. The money then gets split between jurisdictions under Act 32, the law that reorganized PA's local tax collection in 2012.
The classic Pittsburgh example: the city's famous 3% rate is the resident rate. If you live in Cranberry Township (1%) and commute to a Pittsburgh office, you don't pay 3%. Pittsburgh's nonresident rate is 1%, Cranberry's resident rate is 1%, so you pay 1%. But flip it around and live in the city while working in the suburbs, and you're paying the full 3% resident rate no matter where your desk is.
How to Fill Out the Residency Certification Form (CLGS-32-6)
Every PA employer is required to collect this form from every new employee, and it's the source of most PSD confusion. Here's the clean way through it:
- Step 1: Go to apps.dced.pa.gov/munstats-public and use the "Find Local Withholding Rates by Address" search.
- Step 2: Enter your home address. Write down the resident PSD code and Total Resident EIT Rate it returns.
- Step 3: Enter your employer's address. Write down the work location PSD code and nonresident rate.
- Step 4: Copy those four numbers onto the form, sign it, and hand it to payroll.
If you move, even one township over, you file a new form. Rates and PSD codes change at municipal lines, not just county lines. An employee who moves from Ross Township to McCandless and never updates the form is being withheld at the wrong rate and paid to the wrong collector, and both of those come back to bite at filing time. Once you know your numbers, our guide to filing PA local taxes covers what happens with them at tax time.
For Employers: Why This Form Is Your Shield
If you run a business with employees, the Residency Certification Form isn't paperwork theater. It's your proof. When a tax collector questions why you withheld 1% instead of 1.5% for someone, the signed form showing the rate the employee certified is what protects you.
Our rules for staying clean on this:
- Collect the form at hire, before the first payroll run. Retroactive fixes mean amended filings.
- Re-verify every address in January. People move and forget to tell payroll. A once-a-year sweep catches it.
- Enter the PSD codes and rates into your payroll system exactly as certified. In QuickBooks, that means setting up each employee's local jurisdictions individually. Tedious, yes. Cheaper than penalties, also yes.
- Watch for rate changes each January. Municipalities and school districts can change rates. The DCED registry updates; your payroll file doesn't update itself.
If your QuickBooks file has employees mapped to wrong jurisdictions or last year's rates, that's a standard fix in our QuickBooks cleanup service. And if nobody's watching this stuff month to month, that's exactly what our monthly bookkeeping covers. We handle this every payroll for businesses across the Pittsburgh area, so the jurisdiction mapping stays right all year.
Quick Reference: Pittsburgh-Area Numbers
- Cranberry Township: 1.0% total resident EIT (0.5% township + 0.5% Seneca Valley schools)
- City of Pittsburgh: 3.0% resident rate, 1.0% nonresident rate
- Most Pittsburgh suburbs: 1.0% to 1.5%, always confirm with the DCED lookup
- PA state income tax (separate from all of this): flat 3.07%
Rates change, so treat this as a snapshot and pull your current number from the DCED lookup before putting it on a form. For how EIT fits into Pennsylvania's whole four-layer system alongside the LST, our complete guide to PA local taxes covers the full picture. And if you're staring at an LST line on your W-2 wondering what that is, here's what LST on your W-2 means.
The Bottom Line
Your Total Resident EIT Rate is your municipality plus school district rate combined. Your PSD code is the 6-digit address of your municipality in the tax system. Both live at apps.dced.pa.gov/munstats-public, both go on the Residency Certification Form, and both need to be right, because the higher-of rule means real money moves based on those numbers every payday.
Managing payroll across multiple PA municipalities? Book a free 15-minute Financial Health Check and we'll tell you whether your local tax setup is actually right. No cost, no pressure.
Remember: This is educational information. Always verify specifics with your CPA or tax advisor. Tax rates and filing requirements change, and your specific situation matters.
Written By

Certified Advanced QuickBooks Online ProAdvisor · Owner, Peacock Bookkeeping Services LLC
Every post here is written and reviewed by Jordan Peacock, the owner of Peacock Bookkeeping Services LLC in Cranberry Township, PA. We work with business owners across the Pittsburgh region on QuickBooks Online bookkeeping, catch-up cleanups, and Pennsylvania local tax questions, and we write about what we see in the books every week.
Last updated
Ready to stop doing your own books?
No sales pitch. Just straight talk about your situation.
Keep Reading
RELATED POSTS
8 min read
PA Sales Tax Due Dates 2026: Deadlines, myPATH, Penalties
PA sales tax returns are due the 20th of the month after the period ends, or the next business day when the 20th hits a weekend. Every 2026 date for monthly, quarterly, and semi-annual filers, how the state assigns your frequency, the $25,000 prepayment rule, a myPATH walkthrough, and the real cost of filing late.
Read post6 min read
Quarterly Tax Due Dates 2026: Federal and PA Deadlines
The four federal quarterly tax due dates for 2026, the PA state and local dates that ride along with them, who actually has to pay, and what missing one costs. September 15 is the next deadline.
Read post8 min read
PA LST Tax Explained: Who Pays the $52 Local Services Tax
The PA LST is a flat Local Services Tax of up to $52 a year, charged to anyone who works in a municipality that levies it. Employees pay it through payroll, business owners pay it themselves, and a lot of people who could claim the $12,000 exemption never do. Here's the whole thing, with real Pittsburgh-area amounts.
Read postCommon Questions
FREQUENTLY ASKED QUESTIONS
It's your home municipality's Earned Income Tax rate plus your school district's rate, combined into one percentage. For example, Cranberry Township's total is 1% (0.5% township plus 0.5% Seneca Valley School District), while the City of Pittsburgh's is 3% (1% city plus 2% Pittsburgh Public Schools). You find your current rate with the official DCED lookup at apps.dced.pa.gov/munstats-public.
Use the free official lookup at apps.dced.pa.gov/munstats-public (the PA DCED's Municipal Statistics site, formerly munstats.pa.gov). Enter your home address in the Find Local Tax search and it returns your 6-digit resident PSD code along with your Total Resident EIT Rate. Enter your work address the same way to get your work location PSD code and the nonresident rate.
It's the 6-digit code for the municipality and school district where you live. Look it up by entering your home address at apps.dced.pa.gov/munstats-public (the PA DCED's Find Local Withholding Rates by Address tool). The result shows a Resident PSD Code and a Total Resident EIT Rate. Copy both onto your Residency Certification Form. Cranberry Township residents, for example, are in the Seneca Valley School District's PSD range in Butler County; the tool gives the exact 6 digits.
It's the 6-digit political subdivision code for the municipality where you physically work, as opposed to your resident PSD code for where you live. The Residency Certification Form asks for both because Pennsylvania employers withhold at the higher of your home municipality's resident rate or your work municipality's nonresident rate, and the codes determine how the money is routed and split.
Two common reasons. First, the published total includes your school district's share, so a 0.5% township rate becomes 1% total with the school district added. Second, if you work in a municipality whose nonresident rate is higher than your home resident rate, your employer must withhold at the higher rate. Check both numbers in the DCED lookup before assuming payroll got it wrong.
Yes. Under Act 32, every Pennsylvania employer must have a completed Residency Certification Form (CLGS-32-6) on file for each employee, and a new one whenever an employee moves. The form certifies the employee's PSD codes and rates, tells payroll what to withhold and where to send it, and protects the employer if a tax collector questions a filing.
At a Glance
You find your PA EIT rate and 6-digit PSD code with the official DCED lookup at apps.dced.pa.gov/munstats-public, and both go on the Residency Certification Form (CLGS-32-6). The Total Resident EIT Rate is your municipality's rate plus your school district's rate: Cranberry Township totals 1% and the City of Pittsburgh is 3% for residents. Employers withhold at the higher of your home resident rate or your work municipality's nonresident rate. Most Pittsburgh suburbs land between 1% and 1.5%. Peacock Bookkeeping Services in Cranberry Township PA handles PA local payroll taxes for Pittsburgh businesses. Call (412) 407-7420.
READY TO GET YOUR BOOKS IN ORDER?
Book a free call and see exactly where your business stands. No pressure, no jargon. Just a clear picture of your finances. 100% satisfaction guarantee your first month.
Let's Fix Your Books →