For owners & sellers
Price Per Square Foot in San Antonio: Why It Swings So Hard Block to Block
Price per square foot is the most misused number in San Antonio pricing. Here is what actually drives the spread between 78209 and 78254, and how to use the metric without mispricing your home.
7 min read · April 21, 2026
Price per square foot is shorthand, not a valuation method. In San Antonio it is a particularly dangerous shorthand because the metro contains everything from 1920s bungalows in Monte Vista to 2023 production builds in Alamo Ranch, and they trade on completely different logic. Two homes with identical square footage, five miles apart, can close $150,000 apart and both be priced correctly.
If you are pricing your home to sell, you need to understand what the $/sqft number is actually measuring before you anchor to it. Here is how it moves in Bexar County and what drives the spread.
What price per square foot really measures
$/sqft is an output, not an input. It is the sale price divided by living area after the deal closes. It rolls up everything a buyer paid for — the lot, the school district, the roof age, the kitchen finish, the flood zone, the HOA, the view — into one blended number and then divides only by heated square feet. That means the smaller the house relative to the lot and the location value, the higher the $/sqft will look. A 1,400-sqft cottage in Alamo Heights on a 9,000-sqft lot is not expensive per foot because the building is special. It is expensive per foot because you are buying 78209 and AHISD, and the house happens to sit on it.
This is why comparing $/sqft across neighborhoods tells you almost nothing, and comparing within a tight sub-market tells you a lot.
The main drivers of the San Antonio spread
Six factors move $/sqft more than anything else in Bexar County:
- School district and municipal boundary. Alamo Heights ISD, the small NEISD feeder pattern around Churchill, and parts of NISD near Stone Oak carry a premium that shows up entirely in the land component. Cross Loop 410 into SAISD and the same structure prices differently.
- Lot size and land value. Inside Loop 410, lots are the scarce asset. Outside 1604, lots are commoditized. A 0.15-acre interior lot in a new Lennar section is priced as a unit; a 0.3-acre corner lot in Terrell Hills is priced as dirt.
- Age and original build quality. 1920s–1940s construction in Monte Vista, King William, Olmos Park, and Mahncke Park was built with materials that cost more to replicate today. That raises both the emotional value and the replacement-cost appraisal floor.
- Condition and finish level. A renovated kitchen with quartz and a 2020 HVAC can add $20–40/sqft in the same subdivision where an original-condition comp sits. This is the single biggest within-neighborhood variable.
- Flood zone and deed restrictions. FEMA AE zones along Salado Creek, Leon Creek, and Olmos Creek suppress $/sqft. Historic district restrictions in King William and Monte Vista do too, because buyers price in the cost of HDRC approval for exterior changes.
- New-construction incentive stacking. In Alamo Ranch, Westpointe, and the far northeast around Converse, builders are buying down rates and covering closing costs. The reported sale price stays high while the effective price is lower, which inflates the $/sqft benchmark for resale sellers trying to comp against it.
A rough map of the spread
The numbers below are directional ranges observed in recent cycles on SABOR sold data. Do not price off them. Pull your own comps from BCAD and the MLS for the specific subdivision.
| Area | ZIP | Typical $/sqft range | What is driving it |
|---|---|---|---|
| Alamo Heights / Terrell Hills | 78209 | High end of the metro | AHISD, small independent municipalities, tight inventory inside 410 |
| Monte Vista / Olmos Park | 78212 | High, wide spread | 1920s architecture, historic premium, condition variance |
| Stone Oak | 78258 | Upper-mid | NEISD, newer stock, larger homes dilute $/sqft |
| Alamo Ranch | 78253, 78254 | Mid | NISD, new construction, builder incentives |
| Southtown / King William | 78204, 78210 | Wide, bimodal | Historic district premium vs. unrenovated stock on same block |
| Converse / Live Oak | 78109, 78233 | Lower-mid | Judson ISD, JBSA-Randolph proximity, heavier rental demand |
| Southwest San Antonio | 78211, 78221 | Lower | SWISD/Harlandale ISD, older stock, larger lots |
| Helotes / Grey Forest | 78023 | Upper-mid | NISD, acreage, no city property tax in parts |
Notice how 78253 and 78209 can show similar raw $/sqft in some months and be nothing alike as markets. 78253 is a 2,800-sqft new build on a small lot. 78209 is a 1,600-sqft 1940s ranch on a big lot. The buyers are not the same people and the price elasticity is not the same.
The school district effect is not uniform
The common shorthand is "AHISD and NEISD carry a premium." That is broadly true but not useful for pricing. What actually matters is the elementary attendance zone, not the district. Inside NEISD, homes zoned to Hidden Forest, Colonial Hills, or Huebner Elementary price differently than homes zoned to schools two miles away. Inside NISD, the split between Aue / Leon Springs and the larger far-west feeder pattern shows up in $/sqft. Do not assume the district label alone is doing the work. Buyers with kids check the specific campus.
Also: do not confuse NEISD (North East) with NISD (Northside). This is the single most common error in San Antonio listing copy, and it will cost you when a buyer's agent notices.
Age, finish, and the replacement-cost floor
Appraisers in Bexar County working a TREC 20-17 contract will lean on the sales comparison approach, but on older homes they also run a cost approach as a sanity check. On 1940s construction inside Loop 410, replacement cost on original plaster, hardwoods, and true dimensional lumber is high, which supports higher $/sqft even when the kitchen is untouched. On a 2005 stucco-and-stone house in far north NISD, replacement cost per foot is lower, and the comp set is deep enough that an appraiser will not stretch.
This is why a $210/sqft comp in Mahncke Park does not justify $210/sqft two blocks away if your house is a 1990s infill with vinyl windows. The number looks the same; the underlying asset is not.
What most people get wrong
- Averaging $/sqft across a ZIP code. 78210 contains King William mansions and 900-sqft bungalows a half-mile apart. The ZIP average is a fiction. Use a sub-market — ideally the same subdivision or, for older areas, the same 6–10 block radius.
- Treating builder comps as resale comps. A new Pulte closing at $195/sqft with a 5.25% rate buy-down and $15,000 in closing costs is not a $195/sqft comp. Net of incentives it is closer to $180. Your resale down the street cannot match that without cutting price.
- Ignoring lot size entirely. On anything inside 410, the lot is often 40–60% of the value. Two 1,800-sqft houses with a 5,000-sqft vs. 12,000-sqft lot are not comps. Pull the lot size from BCAD before you pull the $/sqft.
- Comping across school boundaries. Olmos Park Terrace (SAISD) and Olmos Park proper (Alamo Heights ISD) share a name and a border. They do not share a price. Check the district and the campus before you pull a comp.
- Using $/sqft to justify a list price with no comp support. "Homes in my area sell for $200/sqft so my 2,400-sqft house is worth $480,000" is not a pricing argument. It is a wish. Pricing has to come from three to six closed comps adjusted for condition, lot, and date, then checked against $/sqft as a reasonableness test — not the other way around.
- Pricing off active listings instead of closed sales. Actives tell you what sellers hope for. Closed sales on the SABOR MLS and in BCAD's deed records tell you what buyers paid. Appraisers only care about the second one.
How to use $/sqft correctly when you price
Run it last, not first. Pull three to six truly comparable closed sales — same subdivision or same tight radius, similar age, similar lot, similar condition, within the last six months. Adjust for the obvious deltas: renovated kitchen, new roof, pool, extra garage bay, flood zone. Land on a price. Then divide by your square footage and ask whether the resulting $/sqft sits inside the range of your comps' $/sqft. If it does, you have a defensible list price. If it is 10% above the top comp, you have a problem — the appraiser will have the same problem in three weeks.
One more check: the Bexar Appraisal District's public search at BCAD will show you the living area the county has on file for your home and your comps. If BCAD says your house is 2,180 sqft and your listing says 2,340 sqft, the buyer's lender is going to side with the appraiser's measurement, not yours. Get that reconciled before you list.
If you want help pulling the right comp set for your specific street — not a ZIP-code average — browse the owner resources at /resources, list your home FSBO free at /list-your-home, or connect with a local agent at /agents who actually works your submarket.
More in Home Valuation & Pricing Strategy
When Your San Antonio Deal Doesn't Appraise: Closing the Gap Without Killing the Sale
A low appraisal doesn't automatically blow up a San Antonio sale. Here's what actually happens, which TREC language controls the outcome, and how sellers and buyers split the gap in Bexar County.
How to Run Your Own CMA on a San Antonio Home Using SABOR Stats and BCAD Data
Texas is a non-disclosure state, which changes how a homeowner builds a comparative market analysis. Here is a step-by-step DIY CMA using SABOR market data, BCAD records, and the public listing sites that actually show sold prices.
Why the Zestimate on Your San Antonio Home Is Usually Wrong — and by How Much
Automated home value tools routinely miss San Antonio prices by tens of thousands of dollars. Here's why the Zestimate breaks in Bexar County specifically, where it's worst, and what to use instead before you set a list price.