What ZIP code is Matthews NC? Almost all of the Town of Matthews sits in ZIP 28105, with 97.46 percent of its land there, while ZIP 28104 carries a Matthews mailing address but has only 1.40 percent of its land inside the town, according to Steve Jarrell, Team Lead of The Longleaf Group at eXp Realty, citing the U.S. Census Bureau’s 2020 ZIP-to-place relationship file, read October 27, 2026.
If you’ve been scrolling listings, you’ve probably noticed that “Matthews, NC” shows up with two different ZIP codes, and it’s fair to assume they’re two halves of the same town. It’s true that both carry the Matthews name. But 96.86 percent of ZIP 28104’s land sits in Union County, across the county line from a town that sits entirely in Mecklenburg County. This guide walks through which ZIP is the town, what the other one really covers, and how the difference shows up in your tax bill, your school district and your offer.
14 min read | By Steve Jarrell, The Longleaf Group at eXp Realty | Updated October 2026
Free · 26-Page Insider Guide
Matthews, Stallings or Weddington? See the towns side by side.
Towns compared, NC vs SC taxes and schools side by side, and the 5 mistakes out-of-state buyers make.
What This Guide Covers
- What ZIP code is Matthews NC?
- Why most of ZIP 28104 is in Union County
- What the county line changes on your tax bill
- Schools and services follow the county, not the ZIP
- Income and home values in 28104 and 28105
- How do you check an address before you offer?
- Frequently asked questions
What ZIP code is Matthews NC?
The Town of Matthews is ZIP 28105. In the Census Bureau’s 2020 ZIP-to-place relationship file, 97.46 percent of the town’s land falls in 28105, 2.42 percent in 28104 and 0.11 percent in 28270, a Charlotte ZIP. So if you’re looking for a house inside Matthews town limits, you’ll most likely be looking at a 28105 address, since that’s where nearly all of the town’s land is. The town sits entirely in Mecklenburg County, according to the Census Bureau’s list of North Carolina places by county, which files Matthews under Mecklenburg and nowhere else.
The Short Answer
If you want to be inside the Town of Matthews, you want 28105, which holds 97.46 percent of the town’s land. Most of ZIP 28104’s land, 96.86 percent, is in Union County, spread across Weddington, Stallings, Indian Trail, Wesley Chapel and areas with no town, per the Census Bureau’s 2020 ZIP-to-place and ZIP-to-county files.
Key numbers, Matthews NC ZIP codes, Census 2020 land area and 2026-27 tax rates (sources: U.S. Census Bureau, Mecklenburg County, Town of Stallings, The Charlotte Weekly):
- 97.46% of the Town of Matthews’ land is in ZIP 28105
- 1.40% of ZIP 28104’s land is inside Matthews town limits
- 96.86% of ZIP 28104’s land is in Union County
- 43.20% of ZIP 28104’s land is in the Town of Weddington, 25.59% in Stallings
- 77.22 cents per $100 inside Matthews for 2026-27, against 64.32 cents in Stallings on the Union County side
ZIP 28105 isn’t all Matthews, either. Of its land, 71.80 percent is inside the town, 15.77 percent is in the City of Charlotte, 7.79 percent is in Mint Hill and 3.34 percent is in no town at all. What it shares with the town is the county: 98.57 percent of 28105 lies in Mecklenburg County. So the cleaner way to read the two ZIPs is this. A 28105 address tells you the county with near certainty and the town with good odds. A 28104 address tells you neither, until you look up the parcel.
When a listing says Matthews, I’d look at the ZIP before I looked at the kitchen. On a 28105 address you’re very likely in Mecklenburg County, since 98.57 percent of that ZIP’s land is there. On a 28104 address you’re far more likely to be in Union County, in Weddington, Stallings, Indian Trail or no town at all. On a $500,000 house, the county and town rates alone put the yearly bill $645 lower on the Union County side of Stallings and $1,690 lower in unincorporated Union County than inside Matthews, before any fire fee.
Talk to a local broker
Not sure which side of the county line a Matthews listing is on?
Send me the address and I’ll tell you the county, the town and the tax rate before you tour. No pressure, just answers.
Schedule a 15-Minute Introductory Call →704-774-7170 · steve@jarrellhomes.com · thelongleafgroup.com
Why most of ZIP 28104 is in Union County
Most of ZIP 28104 is in Union County because the ZIP reaches well past the Town of Matthews and across the county line. Census figures show how far the ZIP and the town drift apart. Of 28104’s land, 43.20 percent is inside the Town of Weddington, 25.59 percent is in Stallings, 9.60 percent is in Indian Trail, 7.25 percent is in the Village of Wesley Chapel and 12.54 percent is in no town at all. Matthews gets 1.40 percent, and Charlotte and the Town of Hemby Bridge share the last 0.42 percent.
Here’s the example that makes it concrete. On Union County’s own property tax record, a parcel the Town of Weddington owns at 1924 Weddington Road lists a physical address in Waxhaw, 28173, and a mailing address of Matthews, NC 28104. One parcel, three town names, and none of them is a mistake. A mailing city doesn’t decide who sets the tax rate or runs the schools. The county and town lines do.
If you’re coming from out of state, the names above are separate municipalities with their own town councils and their own tax rates, not neighborhoods of Matthews. Indian Trail and Wesley Chapel are Union County towns. Stallings and Weddington aren’t as simple: the Census Bureau’s place-by-county file lists both of them in Mecklenburg and Union counties, so a Stallings or Weddington address alone doesn’t tell you the county either. And the 12.54 percent in no town is unincorporated land, where there’s no town government above the county at all.
I tour one of these neighborhoods in the video below. Willowbrook carries a Matthews address and sits in Stallings, in Union County, ZIP 28104, which is the pattern this whole section describes.
What the county line changes on your tax bill
The county line changes your tax rate more than anything else a ZIP code hides. For the 2026-27 tax year, a home inside the Town of Matthews pays Mecklenburg County’s 49.27 cents plus the town’s 27.95 cents, a combined 77.22 cents per $100 of assessed value, per Mecklenburg County’s 2026-2027 jurisdiction tax rate chart. On a $500,000 assessment that’s $3,861 a year.
Cross into Union County and the county rate drops to 43.42 cents, the total rate Union County’s commissioners kept when they approved the 2026-27 budget, as The Charlotte Weekly reported in June. Then whatever town you’re in adds its own rate. Here’s what that does to a $500,000 house:
- Inside the Town of Matthews (Mecklenburg County): 77.22 cents, or $3,861 a year on $500,000
- Stallings, Mecklenburg County side: 70.17 cents, or $3,508.50
- Stallings, Union County side: 64.32 cents, or $3,216
- Indian Trail (Union County): 60.42 cents with the town’s current 17 cents, or $3,021
- Unincorporated Union County, no town: 43.42 cents, or $2,171
Those are the county and town lines only, on a $500,000 assessed value for 2026-27, from Mecklenburg County’s rate chart, the Stallings FY27 ordinance, the Town of Indian Trail’s tax page and Union County’s rate as reported by The Charlotte Weekly. Fire district taxes and fees aren’t included.
Stallings is the one to slow down on. The town levies one rate, 20.9 cents per $100 for the year ending June 30, 2027, under its FY27 operating budget ordinance, but the county rate under it depends on which side of the line the house is on. A Stallings home in Union County pays 64.32 cents combined. A Stallings home in Mecklenburg County pays 70.17 cents, because it carries Mecklenburg’s 49.27 instead of Union’s 43.42. Same town, same town rate, $292.50 a year apart on a $500,000 house.
For a house in Weddington or Wesley Chapel, check that town’s own rate before you add it to Union County’s 43.42 cents. Fire is separate too: Mecklenburg’s rate chart leaves out fire district rates, and the Union County parcel record for the Town of Weddington’s property carries its own “Fire Fees Billed” line, so read that line for the house you’re looking at rather than assuming a number.
The gap is real, but it’s a gap per $100, not per house. If each sold at Redfin’s July to September 2026 median and were assessed at that price, a $696,795 house in 28104 at Stallings’ Union County rate of 64.32 cents would owe about $4,482 a year, against about $3,705 for a $479,772 house in Matthews at 77.22 cents. A lower rate on a pricier house can still mean a bigger bill.
Schools and services follow the county, not the ZIP
Your school district follows the county the house sits in, not the ZIP printed on the listing. The two counties run separate districts. Charlotte-Mecklenburg Schools offers a “Find My School” lookup on its site, and Union County Public Schools offers its own “What School Do I Attend?” lookup and attendance boundary maps. Because 3.14 percent of ZIP 28104 lies in Mecklenburg County and 96.86 percent in Union, two houses with the same Matthews 28104 address line can land in different districts if the county line runs between them.
For the schools that serve the town itself, with ratings attributed to GreatSchools, see our guide to schools in Matthews NC and how they rate. Boundaries change, so whichever county you land in, run the address through the district’s own lookup before you rely on any assignment, ours included.
Town rules work the same way. Only a house inside Matthews town limits pays the Matthews rate and answers to the Town of Matthews. A Matthews 28104 house in Weddington pays Weddington’s rate and follows Weddington’s rules, and one in unincorporated Union County has no town above it, so the county is the government you deal with. That’s worth knowing before you buy, because it tells you who you call about zoning or a permit.
Before I’d write an offer on a 28104 house, I’d pull the parcel on Union County’s property tax inquiry and read two lines, the physical address and whether a fire fee is billed. Then I’d confirm the town, because the town adds its own rate on top of the county’s, and run the address through the school district’s own lookup. The county and the town line set those answers, and the mailing city sets none of them.
Talk to a local broker
Weighing a 28104 house against one in 28105?
We’ll put the tax bill, the school district and the price side by side for the two homes you’re choosing between.
Book a 15-minute call →Income and home values in 28104 and 28105
ZIP 28104 has the higher median income and the higher median home value of the two Matthews ZIPs. The median household income in ZIP 28104 is $138,017, according to Steve Jarrell, Team Lead of The Longleaf Group at eXp Realty, citing the 2020-2024 American Community Survey five-year estimates. ZIP 28105 comes in at $108,190, and the Town of Matthews itself at $108,611. If you’re comparing against the counties, Mecklenburg County’s median is $87,005, Union County’s is $102,900 and North Carolina’s is $72,388, from the same 2020-2024 survey.
Home values run the same direction. The same survey puts the median value of owner-occupied homes at $533,500 in 28104, $430,800 in 28105 and $445,100 in the Town of Matthews, against $406,800 in Mecklenburg County and $417,300 in Union County. If you’re shopping recent sales, the gap gets wider. Redfin’s Data Center puts the median sale price at $696,795 in 28104 and $471,909 in 28105 for the three months from July 1 to September 30, 2026, on 164 and 134 sales, with a median of 50 and 46 days on market.
| Measure | ZIP 28105 | ZIP 28104 |
|---|---|---|
| Share of the Town of Matthews’ land | 97.46% | 2.42% |
| Share of the ZIP’s land inside Matthews | 71.80% | 1.40% |
| Share of the ZIP’s land in Mecklenburg County | 98.57% | 3.14% |
| Share of the ZIP’s land in Union County | 1.43% | 96.86% |
| Median household income | $108,190 | $138,017 |
| Median home value | $430,800 | $533,500 |
| Median sale price, July to September 2026 | $471,909 | $696,795 |
| Homes sold, July to September 2026 | 134 | 164 |
| Median days on market, July to September 2026 | 46 | 50 |
Only 1.40 percent of 28104’s land is inside Matthews, so you should read those 28104 numbers as describing mostly other towns, not Matthews. Over the same window Redfin’s Data Center puts the median sale for Matthews at $479,772, much closer to 28105’s figure. So the trade on the Union County side of the line is a lower tax rate per $100 on houses that, at the median, cost more to buy.
If the ZIP code is part of a bigger question, whether Matthews itself is the right town, I weigh the price, the 77.22-cent tax rate, the commute and the FBI crime figures in Is Matthews NC a Good Place to Live?
How do you check an address before you offer?
You check an address by looking up the parcel on the county’s property record. Start with the county. If the house is in Union County, Union County’s property tax inquiry shows the parcel’s physical address, its mailing address and any fire fees billed, which is exactly where the Weddington example above comes from. If it’s in Mecklenburg County, the county’s 2026-2027 jurisdiction tax rate chart lists the county and town rates, such as the combined 77.22 cents inside Matthews.
Then check three things in order. First, the county, because it sets the base rate and the school district. Second, the town, because only a house inside town limits pays the town rate and gets town services. Third, the school assignment, from the district’s own lookup. If the listing’s ZIP is 28104, expect the answers to differ from what the word Matthews suggests, since 96.86 percent of that ZIP is Union County land.
If you’re weighing Matthews against its neighbors on cost, our breakdown of the Matthews NC property tax rate goes deeper on the town line, and the Matthews community page collects more of what we’ve written about the town. The same ZIP-versus-town-line problem shows up south of the state line too, which we walked through for Fort Mill SC ZIP codes. For a side-by-side of the towns around it, start at our South Charlotte communities hub.
Frequently Asked Questions About Matthews NC ZIP Codes
What ZIP code is Matthews NC?
Almost all of the Town of Matthews sits in ZIP 28105, with 97.46 percent of its land there, while ZIP 28104 carries a Matthews mailing address but has only 1.40 percent of its land inside the town, according to Steve Jarrell, Team Lead of The Longleaf Group at eXp Realty, citing the U.S. Census Bureau’s 2020 ZIP-to-place relationship file, read October 27, 2026. A sliver of the town, 0.11 percent, is in ZIP 28270.
What county is Matthews NC 28104 in?
Most of ZIP 28104 is in Union County: 96.86 percent of its land, per the Census Bureau’s 2020 ZIP-to-county relationship file, with the other 3.14 percent in Mecklenburg County, so if you’re looking at a 28104 house, assume Union County until the parcel record says otherwise. The small part of 28104 that is inside the Town of Matthews, 1.40 percent of the ZIP’s land, is on the Mecklenburg side, because the town sits entirely in Mecklenburg County.
Is Matthews NC in Union County?
No. The Town of Matthews is entirely in Mecklenburg County, according to the Census Bureau’s list of North Carolina places by county. The confusion comes from ZIP 28104, which uses Matthews as a mailing city while 96.86 percent of its land is in Union County, in Weddington, Stallings, Indian Trail, Wesley Chapel and unincorporated areas, so you’ll want to check the county on the parcel record rather than the address line.
What is the property tax rate in Matthews NC?
For 2026-27, a home inside the Town of Matthews pays 77.22 cents per $100 of assessed value: Mecklenburg County’s 49.27 cents plus the town’s 27.95 cents, per Mecklenburg County’s 2026-2027 jurisdiction tax rate chart. On a $500,000 assessment you’d pay $3,861 a year. A home with a Matthews 28104 address in Union County pays Union County’s 43.42 cents plus any town rate, such as Stallings’ 20.9 cents, and any fire district tax or fee on top.
What is the median household income in ZIP 28104?
The median household income in ZIP 28104 is $138,017, according to the 2020-2024 American Community Survey five-year estimates. ZIP 28105 is $108,190 and the Town of Matthews is $108,611 over the same survey period. Only 1.40 percent of 28104’s land is inside Matthews, so you should read its figures as describing mostly other towns, not Matthews.
Which towns are in ZIP 28104?
By land area in the Census Bureau’s 2020 ZIP-to-place file, ZIP 28104 is 43.20 percent Weddington, 25.59 percent Stallings, 9.60 percent Indian Trail, 7.25 percent Wesley Chapel and 1.40 percent Matthews, with 12.54 percent in no town and 0.42 percent in Charlotte and Hemby Bridge. If you see a Matthews mailing address in 28104, it can belong to any of them.
About the Author
I’m a licensed North Carolina and South Carolina broker and the Team Lead of The Longleaf Group at eXp Realty, which I co-lead with my wife Amanda. Before real estate, I joined VisualTour as President, led its rebrand to Paradym, and led the company to its acquisition by Constellation Software in 2020. I hold an MBA from the University of Tennessee with concentrations in Marketing and Innovation. The Longleaf Group is an eXp ICON Team and a RealTrends Verified Top Team by Volume for 2026, with 170+ five-star reviews.
I live in Weddington, one of the towns that shares ZIP 28104, and I sell in Matthews, Stallings and the towns around them every week. If you’d like help figuring out which county and town a listing really sits in, call me at 704-774-7170.

