{"zip":"28211","city":"Charlotte","state":"NC","county":"Mecklenburg County","countySlug":"mecklenburg-county-nc","metro":"Charlotte-Concord-Gastonia, NC-SC","metroSlug":"charlotte-nc","citySlug":"charlotte-nc","rentPeriod":"2026-06","acsPeriod":"ACS 2024 5-year","directRent":1963,"rentYoy":0.0097,"bedroomEstimates":[1707,1795,1963,2417,3068],"hudFmr":[1730,1820,1990,2450,3110],"ladderSource":"safmr","population":33925,"populationMoe":1961,"medianIncome":132917,"medianIncomeMoe":12445,"medianGrossRent":1767,"medianGrossRentMoe":70,"housingUnits":15233,"occupiedUnits":13602,"vacantUnits":1631,"renterOccupied":6210,"rentBurdenTotal":6210,"rentBurden30Plus":2646,"vacantForRent":756,"vacantForSale":60,"vacantSeasonal":223,"structureTotal":15233,"singleFamilyUnits":8654,"largeMultifamilyUnits":3363,"vacancyRate":0.10707017659029738,"renterShare":0.4565505072783414,"rentBurdenShare":0.4260869565217391,"requiredIncome":78520,"askingRentToIncome":0.17722338000406268,"askingVsAcsRent":1.11092246745897,"askingVsHud2br":0.9864321608040201,"cityRent":1745.7658527125816,"countyRent":1751,"metroRent":1750,"cityGrossRent":1612,"countyGrossRent":1627,"countyListings":4251,"countyListingDom":51,"countyPriceReducedShare":0.2235,"countyListingPeriod":"2026-06","metroMonthsSupply":3.7,"metroMedianDom":53,"metroPriceDrops":0.3162,"metroResalePeriod":"2026-05-01","apartmentVacancy":0.092981787831397,"apartmentTimeOnMarket":35.3,"zipResalePeriodBegin":"2026-04-01","zipResalePeriodEnd":"2026-06-30","zipResaleUpdated":"2026-07-03","zipHomesSold":139,"zipSalePrice":858806,"zipSalePriceYoy":0.0537,"zipMedianDom":40,"zipActiveListings":354,"zipActiveListingsYoy":0.0561,"zipInventory":192,"zipInventoryYoy":0.1124,"zipPendingSales":137,"zipMonthsSupply":4.2,"zipSaleToList":0.9941,"zipSoldAboveList":0.2966,"zipOffMarketTwoWeeks":0.4211,"generatedAt":"2026-08-16 05:35:19.265305+00","summaryHtml":"<p>The sharpest cross-source tension appears in resale rather than rental data. Redfin’s direct rolling-three-month ZIP for-sale observation reports a median sold price of $858,806, up 5.37% from a year earlier. It recorded 139 homes sold, a median 40 days on market, and 192 homes of inventory; the inventory count was higher than a year earlier. Months of supply stood at 4.2. Sellers received an average 99.41% of list price. Those are direct ZIP resale liquidity and pricing signals, not rental transactions or rental comps. Their relative firmness challenges a simple story of uniformly strong or uniformly weak housing conditions when asking-rent movement has been slight.</p><p>Zillow’s June 2026 ZORI for 28211 is $1,963 per month, a 0.97% year-over-year increase. ZORI is a typical observed asking-rent index blended across rental types, rather than a lease transaction series or a bedroom-specific measure. The five-digit label is both Zillow’s ZIP market identifier and a match to a Census ZCTA; a ZCTA is a statistical area, not an area identical to a USPS delivery ZIP. The city of Charlotte context asking-rent value is $1,746, the Mecklenburg County context value is $1,751, and the Charlotte-Concord-Gastonia, NC-SC metro context value is $1,750; each is wider-area context, not a substitute for the ZIP index.</p><p>The slow current gain is not the whole historical picture. Exact same-month Zillow measurements show annualized change of 0.97% over one year and 1.09% over three years, versus 3.85% across five years. Thus recent direction breaks from, rather than confirms, the stronger longer path, although each measure remains backward-looking. The series has 100% coverage. Annualized monthly-return variability reaches 4.13%, placing this ZIP in the supplied high-variability category and reducing confidence that one current rent snapshot represents a stable level. Separately, the maximum peak-to-trough drawdown is 7.76%, evidence of a meaningful historical reversal. Transparent national discovery ranks among history-eligible ZIPs are 1,982 for momentum, 2,657 for stability, and 2,623 for balanced history, where lower rank is higher; they are descriptive ranks, not forecasts or investment recommendations.</p><p>Source definitions explain why the levels cannot be stacked as if they were identical rents. The matched Census ZCTA ACS 2024 five-year survey places median gross rent at $1,767 among occupied renter homes. It includes selected utilities, while Zillow observes typical asking rents, so the asking index is 11.1% above the survey median without demonstrating a market change or a utility-adjusted premium. For a different administrative benchmark, the FY2026 HUD FMR/SAFMR two-bedroom standard is $1,990 and the ZIP ZORI is 98.6% of that amount. HUD’s standard is bedroom-specific administration, not an asking-rent observation.</p><p>The local HUD ladder can nevertheless supply a transparent scaling frame for the single Zillow index. Scaling the ZIP ZORI by that ladder produces modelled monthly estimates of $1,707 for a studio, $1,795 for one bedroom, $1,963 for two bedrooms, $2,417 for three bedrooms, and $3,068 for four bedrooms. These are modelled estimates, never measured bedroom rents: they inherit the all-types ZIP ZORI and HUD’s relative bedroom steps. They should not be read as quoted rents for a unit, evidence on concessions, or proof that a particular property clears a HUD standard.</p><p>The affordability screen produces a different tension. Annualizing the asking index gives a required household income of $78,520 at a 30% rent-to-income screen. This is arithmetic, not advice and not an applicant qualification rule. The matched ZCTA’s median household income is $132,917, an aggregate figure that cannot establish what an individual renter earns. Yet ACS reports 42.6% of renter households with gross-rent burdens at or above 30%. Because that burden measure concerns occupied renter homes and selected utilities, it cannot be assigned to a current listing or used to prove affordability for a specific household. The contrast is a distributional caution, not evidence that either source is wrong.</p><p>Stock data offers context but not unit availability. In the ACS ZCTA, the housing stock totals 15,233 units, with a 10.7% vacancy rate and a 45.7% renter share. The reported mix includes 8,654 single-family units and 3,363 units in large multifamily structures. Among vacant units, 756 are classified as for rent; that classification neither promises a comparable unit nor reports whether its asking rent matches ZORI. The Charlotte city, Mecklenburg County, and Charlotte-Concord-Gastonia metro values previously cited are broader contexts, and their geography or apartment-specific definitions should not be merged with this ZCTA’s stock estimates. Vacancy and burden are therefore indicators of area-level conditions, not proof about any building or lease.</p><p>A cross-source screen rounds out the tension without resolving it. Annualized ZIP ZORI divided by Redfin’s median sold price equals 2.74%; it is only a cross-source screening ratio, not a cap rate, net return, expected return, or property yield. The resale price increase and near-list sale signal sit beside slower recent asking-rent momentum, while high historical variability further limits any conclusion from the current index. A property-level application would need address-level asking rents by bedroom, lease term and concessions; utility responsibility against the ACS gross-rent definition; actual vacancy and unit condition; and closed sales matched by date, property type and size. Which of those property-level checks changes the modelled-rent or resale reading?</p>","findings":[{"body":"Redfin’s direct ZIP resale evidence is firmer than current rent movement: median sold price increased 5.37% year over year while ZORI rose 0.97%. Yet homes still took a median 40 days to sell and supply measured 4.2 months. This is a cross-market tension, not proof that an individual rental is supported by a particular sale price.","title":"Resale strength contrasts with rent deceleration"},{"body":"Exact same-month history points to deceleration: the one-year and three-year annualized gains trail the five-year pace. Full series coverage improves completeness, but high annualized monthly-return variability and the recorded drawdown mean the current index should be read as a point within an uneven backward-looking path. The supplied discovery ranks describe relative history, not a forecast.","title":"History lowers confidence in a point-in-time rent level"},{"body":"ACS median gross rent, Zillow ZORI, and HUD FMR/SAFMR answer different questions. ACS is a five-year survey of occupied renter homes that includes selected utilities; Zillow tracks typical observed asking rent across rental types; HUD supplies an administrative, bedroom-specific standard. The measured level gaps therefore cannot establish a change in rents, a utility premium, or a unit-level lease outcome.","title":"The rent sources answer different questions"},{"body":"Applying the HUD ladder to ZIP ZORI produces a consistent set of modelled bedroom estimates, but it does not observe unit rents. The required-income screen and area burden share add affordability context, while housing stock and vacancy remain aggregate ZCTA evidence. Address-level rents, utilities, actual availability, and properly matched resale records are still needed before interpreting a specific property.","title":"Area screens still require unit-specific validation"}],"risks":["The Zillow asking-rent index, the ACS gross-rent survey, the HUD benchmark, and Redfin resale observations cover different units, dates, and definitions. Treating their level gaps as proof of pricing would collapse distinct evidence universes.","High historical monthly variability and the recorded peak-to-trough decline mean a single ZORI reading can move around its longer path. It should not be converted into a forecast of lease renewal or property performance.","ZCTA median income and the renter-burden share are area-level survey measures. They do not reveal household income, utility bills, credit, lease terms, or affordability for an applicant at any specific address.","Units classified as vacant for rent may differ in bedroom count, condition, asking price, timing, and availability. That aggregate classification cannot verify vacancy, rent, or leasing competition for a particular building."],"qa":[{"a":"Zillow uses 28211 as a market identifier, while ACS data are matched to the corresponding Census ZCTA. A ZCTA is a statistical tabulation area and is not identical to a USPS delivery ZIP. The alignment supports geographically matched context, but it does not make the two source universes or their observations identical.","q":"Why does the report distinguish 28211 from a postal ZIP?"},{"a":"The studio through four-bedroom figures are produced by scaling the all-types ZIP ZORI with the local HUD bedroom ladder. They preserve relative HUD steps rather than observing leases within each bedroom group. Accordingly, they are modelled monthly estimates, not measured bedroom rents, advertised unit quotes, or evidence of available inventory.","q":"Are the bedroom figures observed rents for studio through four-bedroom units?"},{"a":"The required-income figure annualizes the current Zillow asking-rent index and divides it by 30%. It is a mechanical screening calculation, not advice, a housing policy determination, or an applicant qualification rule. ACS burden records occupied renter households paying the specified gross-rent share; it cannot decide affordability for a particular renter or unit.","q":"Does the required-income figure determine whether a renter qualifies?"},{"a":"The annualized Zillow ZORI divided by Redfin’s median sold price is a cross-source screening ratio only. Redfin’s measure is a direct rolling-three-month ZIP observation of for-sale closed transactions and market signals, whereas ZORI is asking-rent evidence. The ratio omits property operating costs, financing, taxes, unit matching, and lease outcomes, so it is not a cap rate or return.","q":"What does the Redfin price-to-rent screening ratio show?"}],"sources":[{"key":"apartment_list_time_on_market","name":"Apartment List Time on Market — listing liquidity","release":"Apartment List 2026-07","pulledAt":"2026-08-08","url":"https://www.apartmentlist.com/research/category/data-rent-estimates"},{"key":"apartment_list_vacancy","name":"Apartment List Vacancy Index — rental vacancy","release":"Apartment List 2026-07","pulledAt":"2026-08-08","url":"https://www.apartmentlist.com/research/apartment-list-vacancy-index-methodology"},{"key":"census_zcta_facts","name":"Census ACS five-year — ZCTA housing and income","release":"ACS 2024 5-year ZCTA","pulledAt":"2026-08-08","url":"https://api.census.gov/data/2024/acs/acs5.html"},{"key":"hud_zip","name":"HUD USPS crosswalk and Small Area FMRs — ZIP rent fallback","release":"ZIP-CBSA 2025Q4 + SAFMR FY2026","pulledAt":"2026-07-26","url":"https://www.huduser.gov/portal/datasets/usps_crosswalk.html"},{"key":"realtor_county","name":"Realtor.com Economic Research — county listing inventory","release":"county inventory 2026-06","pulledAt":"2026-07-28","url":"https://www.realtor.com/research/data/"},{"key":"redfin","name":"Redfin Data Center — inventory, days on market, and price cuts","release":"metro tracker through 2026-05-01","pulledAt":"2026-07-26","url":"https://www.redfin.com/news/data-center/"},{"key":"redfin_zip","name":"Redfin Data Center — ZIP resale activity and supply","release":"ZIP rolling 3 months through 2026-06-30; updated 2026-07-03","pulledAt":"2026-08-12","url":"https://www.redfin.com/news/data-center/"},{"key":"zillow_county","name":"Zillow ZHVI and ZORI — county values and rents","release":"county ZHVI/ZORI 2026-06","pulledAt":"2026-07-26","url":"https://www.zillow.com/research/data/"},{"key":"zillow_zori","name":"Zillow ZORI — metro market rents","release":"Metro_zori_uc_sfrcondomfr_sm_sa_month.csv","pulledAt":"2026-07-26","url":"https://www.zillow.com/research/data/"},{"key":"zillow_zori_city","name":"Zillow ZORI — city market rents","release":"zillow_zori_city.csv","pulledAt":"2026-07-29","url":"https://www.zillow.com/research/data/"},{"key":"zillow_zori_zip","name":"Zillow ZORI — ZIP market rents","release":"ZORI ZIP 2026-06","pulledAt":"2026-08-08","url":"https://www.zillow.com/research/data/"}],"history":[{"period":"2017-12-01","rent":1398.228288},{"period":"2018-01-01","rent":1405.045073},{"period":"2018-02-01","rent":1391.192447},{"period":"2018-03-01","rent":1424.505841},{"period":"2018-04-01","rent":1448.611834},{"period":"2018-05-01","rent":1444.062714},{"period":"2018-06-01","rent":1425.952901},{"period":"2018-07-01","rent":1446.262248},{"period":"2018-08-01","rent":1441.345089},{"period":"2018-09-01","rent":1425.219362},{"period":"2018-10-01","rent":1437.390784},{"period":"2018-11-01","rent":1469.648342},{"period":"2018-12-01","rent":1521.165348},{"period":"2019-01-01","rent":1568.080142},{"period":"2019-02-01","rent":1565.707536},{"period":"2019-03-01","rent":1546.319871},{"period":"2019-04-01","rent":1529.045681},{"period":"2019-05-01","rent":1546.904399},{"period":"2019-06-01","rent":1575.741158},{"period":"2019-07-01","rent":1580.745859},{"period":"2019-08-01","rent":1589.816398},{"period":"2019-09-01","rent":1590.350279},{"period":"2019-10-01","rent":1587.795248},{"period":"2019-11-01","rent":1566.088624},{"period":"2019-12-01","rent":1555.006942},{"period":"2020-01-01","rent":1523.442385},{"period":"2020-02-01","rent":1530.92411},{"period":"2020-03-01","rent":1535.406798},{"period":"2020-04-01","rent":1541.365128},{"period":"2020-05-01","rent":1529.980929},{"period":"2020-06-01","rent":1527.093636},{"period":"2020-07-01","rent":1516.221256},{"period":"2020-08-01","rent":1502.646474},{"period":"2020-09-01","rent":1466.901019},{"period":"2020-10-01","rent":1491.53663},{"period":"2020-11-01","rent":1514.52682},{"period":"2020-12-01","rent":1541.122279},{"period":"2021-01-01","rent":1561.451935},{"period":"2021-02-01","rent":1602.293378},{"period":"2021-03-01","rent":1620.549565},{"period":"2021-04-01","rent":1640.946377},{"period":"2021-05-01","rent":1628.997855},{"period":"2021-06-01","rent":1625.073047},{"period":"2021-07-01","rent":1625.810747},{"period":"2021-08-01","rent":1668.455727},{"period":"2021-09-01","rent":1719.466833},{"period":"2021-10-01","rent":1722.315801},{"period":"2021-11-01","rent":1712.220514},{"period":"2021-12-01","rent":1727.223197},{"period":"2022-01-01","rent":1743.523766},{"period":"2022-02-01","rent":1745.489972},{"period":"2022-03-01","rent":1735.424689},{"period":"2022-04-01","rent":1745.709459},{"period":"2022-05-01","rent":1773.67791},{"period":"2022-06-01","rent":1811.635418},{"period":"2022-07-01","rent":1845.27739},{"period":"2022-08-01","rent":1855.422601},{"period":"2022-09-01","rent":1855.656392},{"period":"2022-10-01","rent":1854.362968},{"period":"2022-11-01","rent":1860.684986},{"period":"2022-12-01","rent":1847.798547},{"period":"2023-01-01","rent":1853.13228},{"period":"2023-02-01","rent":1858.119336},{"period":"2023-03-01","rent":1908.435767},{"period":"2023-04-01","rent":1906.888517},{"period":"2023-05-01","rent":1927.514291},{"period":"2023-06-01","rent":1900.244399},{"period":"2023-07-01","rent":1929.320018},{"period":"2023-08-01","rent":1928.136015},{"period":"2023-09-01","rent":1929.433298},{"period":"2023-10-01","rent":1928.233469},{"period":"2023-11-01","rent":1925.229845},{"period":"2023-12-01","rent":1927.510439},{"period":"2024-01-01","rent":1918.542122},{"period":"2024-02-01","rent":1938.129594},{"period":"2024-03-01","rent":1915.603474},{"period":"2024-04-01","rent":1948.790018},{"period":"2024-05-01","rent":1951.405407},{"period":"2024-06-01","rent":2001.915648},{"period":"2024-07-01","rent":1964.964271},{"period":"2024-08-01","rent":1948.469887},{"period":"2024-09-01","rent":1957.211583},{"period":"2024-10-01","rent":1947.132137},{"period":"2024-11-01","rent":1971.561443},{"period":"2024-12-01","rent":1966.553575},{"period":"2025-01-01","rent":1990.273584},{"period":"2025-02-01","rent":1970.537304},{"period":"2025-03-01","rent":1957.003879},{"period":"2025-04-01","rent":1948.323862},{"period":"2025-05-01","rent":1953.474654},{"period":"2025-06-01","rent":1943.932245},{"period":"2025-07-01","rent":1959.249219},{"period":"2025-08-01","rent":1977.302527},{"period":"2025-09-01","rent":1975.892964},{"period":"2025-10-01","rent":1990.786933},{"period":"2025-11-01","rent":1977.841229},{"period":"2025-12-01","rent":1986.752659},{"period":"2026-01-01","rent":1974.618667},{"period":"2026-02-01","rent":1981.139756},{"period":"2026-03-01","rent":1993.69197},{"period":"2026-04-01","rent":1985.25742},{"period":"2026-05-01","rent":1975.538457},{"period":"2026-06-01","rent":1962.787879}],"historySummary":{"pointCount":103,"firstPeriod":"2017-12-01","latestPeriod":"2026-06-01","coverageMonths":103,"coverageRatio":1,"changes":{"1":{"years":1,"startPeriod":"2025-06-01","endPeriod":"2026-06-01","startRent":1943.932245,"endRent":1962.787879,"change":0.009699738274571379,"cagr":0.009699738274571379},"3":{"years":3,"startPeriod":"2023-06-01","endPeriod":"2026-06-01","startRent":1900.244399,"endRent":1962.787879,"change":0.03291338736896865,"cagr":0.010852917204585255},"5":{"years":5,"startPeriod":"2021-06-01","endPeriod":"2026-06-01","startRent":1625.073047,"endRent":1962.787879,"change":0.20781517029246488,"cagr":0.038484684608055764}},"maxDrawdown":-0.0776239433727921,"annualizedVolatility":0.04128451196870529,"consecutiveReturnCount":102}}