State, district or territory · 54
West Virginia
Annual housing permits and reporting coverage
- Published estimate · 2025
- 3,962
- Reported only · 2025
- 3,622
- Added by estimation · 2025
- 340
Reported and estimated units by year
| Year and source | Published estimate | Reported only | Added by estimation |
|---|---|---|---|
| 2023 Census file | 4,014 | 3,721 | 293 |
| 2024 Census file | 4,192 | 3,876 | 316 |
| 2025 Census file | 3,962 | 3,622 | 340 |
2024 to 2025 · published estimate -230 units · reported only -254 · added by estimation +24. This split describes the difference between the published columns.
What types of housing were authorized?
| Units in building | Published estimate | Reported only | Added by estimation |
|---|---|---|---|
| One unit | 3,618 | 3,288 | 330 |
| Two units | 72 | 70 | 2 |
| Three or four units | 126 | 123 | 3 |
| Five or more units | 146 | 141 | 5 |
Local housing and rent context
| Measure | Estimate and margin |
|---|---|
| Housing units · Census table B25001 | 861,325 ± 394 |
| Median gross monthly rent · Census table B25064 | $872 ± $8 |
| Gross rent at least 30% of income · Census table B25070 | 48.9% ± 1.1 percentage points |
| Gross rent at least 50% of income | 24.5% ± 0.9 percentage points |
| Estimated households with a computed rent-to-income ratio | 151,377 |
The 2025 permit estimate amounts to 4.6 authorized units per 1,000 housing units in the ACS estimate. The numerator and denominator cover different periods.
Find a county or permit office
Counties and equivalents
- Barbour CountyCounty or equivalent 54001 · 2 authorized units
- Berkeley CountyCounty or equivalent 54003 · 1,140 authorized units
- Boone CountyCounty or equivalent 54005 · 6 authorized units
- Braxton CountyCounty or equivalent 54007 · 11 authorized units
- Brooke CountyCounty or equivalent 54009 · 0 authorized units
- Cabell CountyCounty or equivalent 54011 · 71 authorized units
- Calhoun CountyCounty or equivalent 54013 · 6 authorized units
- Clay CountyCounty or equivalent 54015 · 11 authorized units
- Fayette CountyCounty or equivalent 54019 · 27 authorized units
- Gilmer CountyCounty or equivalent 54021 · 6 authorized units
- Grant CountyCounty or equivalent 54023 · 23 authorized units
- Greenbrier CountyCounty or equivalent 54025 · 108 authorized units
- Hampshire CountyCounty or equivalent 54027 · 129 authorized units
- Hancock CountyCounty or equivalent 54029 · 14 authorized units
- Hardy CountyCounty or equivalent 54031 · 66 authorized units
- Harrison CountyCounty or equivalent 54033 · 192 authorized units
- Jackson CountyCounty or equivalent 54035 · 0 authorized units
- Jefferson CountyCounty or equivalent 54037 · 1,324 authorized units
- Kanawha CountyCounty or equivalent 54039 · 97 authorized units
- Lewis CountyCounty or equivalent 54041 · 5 authorized units
- Lincoln CountyCounty or equivalent 54043 · 11 authorized units
- Logan CountyCounty or equivalent 54045 · 1 authorized units
- Marion CountyCounty or equivalent 54049 · 10 authorized units
- Marshall CountyCounty or equivalent 54051 · 0 authorized units
- Mason CountyCounty or equivalent 54053 · 7 authorized units
- McDowell CountyCounty or equivalent 54047 · 0 authorized units
- Mercer CountyCounty or equivalent 54055 · 5 authorized units
- Mineral CountyCounty or equivalent 54057 · 43 authorized units
- Mingo CountyCounty or equivalent 54059 · 0 authorized units
- Monongalia CountyCounty or equivalent 54061 · 22 authorized units
- Monroe CountyCounty or equivalent 54063 · 3 authorized units
- Morgan CountyCounty or equivalent 54065 · 130 authorized units
- Nicholas CountyCounty or equivalent 54067 · 2 authorized units
- Ohio CountyCounty or equivalent 54069 · 3 authorized units
- Pendleton CountyCounty or equivalent 54071 · 23 authorized units
- Pleasants CountyCounty or equivalent 54073 · 3 authorized units
- Pocahontas CountyCounty or equivalent 54075 · 7 authorized units
- Preston CountyCounty or equivalent 54077 · 8 authorized units
- Putnam CountyCounty or equivalent 54079 · 118 authorized units
- Raleigh CountyCounty or equivalent 54081 · 50 authorized units
- Randolph CountyCounty or equivalent 54083 · 0 authorized units
- Ritchie CountyCounty or equivalent 54085 · 32 authorized units
- Roane CountyCounty or equivalent 54087 · 21 authorized units
- Summers CountyCounty or equivalent 54089 · 12 authorized units
- Taylor CountyCounty or equivalent 54091 · 0 authorized units
- Tucker CountyCounty or equivalent 54093 · 1 authorized units
- Tyler CountyCounty or equivalent 54095 · 0 authorized units
- Upshur CountyCounty or equivalent 54097 · 30 authorized units
- Wayne CountyCounty or equivalent 54099 · 61 authorized units
- Webster CountyCounty or equivalent 54101 · 0 authorized units
- Wetzel CountyCounty or equivalent 54103 · 2 authorized units
- Wirt CountyCounty or equivalent 54105 · 12 authorized units
- Wood CountyCounty or equivalent 54107 · 87 authorized units
- Wyoming CountyCounty or equivalent 54109 · 20 authorized units
Permit offices
- Addison townPermit office 54001000 · Webster County · 0 authorized units
- Albright townPermit office 54003000 · Preston County · 8 authorized units
- Alderson townPermit office 54005000 · Greenbrier County · 0 authorized units
- Anmoore townPermit office 54011000 · Harrison County · 0 authorized units
- Ansted townPermit office 54013000 · Fayette County · 2 authorized units
- Athens townPermit office 54015000 · Mercer County · 1 authorized units
- Barboursville villagePermit office 54023000 · Cabell County · 3 authorized units
- Bath townPermit office 54027000 · Morgan County · Latest year unavailable
- Bayard townPermit office 54029000 · Grant County · 0 authorized units
- BeckleyPermit office 54031000 · Raleigh County · 1 authorized units
- Beech Bottom villagePermit office 54033000 · Brooke County · 0 authorized units
- Belington townPermit office 54035000 · Barbour County · 2 authorized units
- Belle townPermit office 54037000 · Kanawha County · 0 authorized units
- BelmontPermit office 54039000 · Pleasants County · 0 authorized units
- BenwoodPermit office 54041000 · Marshall County · 0 authorized units
- Berkeley County Unincorporated AreaPermit office 54043000 · Berkeley County · 1,101 authorized units
- Bethany townPermit office 54045000 · Brooke County · 0 authorized units
- Bethlehem villagePermit office 54047000 · Ohio County · 0 authorized units
- Beverly townPermit office 54049000 · Randolph County · 0 authorized units
- Blacksville townPermit office 54051000 · Monongalia County · Latest year unavailable
- BluefieldPermit office 54053000 · Mercer County · 4 authorized units
- Bolivar townPermit office 54055000 · Jefferson County · 0 authorized units
- Boone County Unincorporated AreaPermit office 54057000 · Boone County · 5 authorized units
- Bramwell townPermit office 54061000 · Mercer County · 0 authorized units
- Braxton County Unincorporated AreaPermit office 54065000 · Braxton County · 11 authorized units
- BridgeportPermit office 54067000 · Harrison County · 153 authorized units
- Brooke County Unincorporated AreaPermit office 54069000 · Brooke County · 0 authorized units
- BuckhannonPermit office 54073000 · Upshur County · 3 authorized units
- Burnsville townPermit office 54077000 · Braxton County · 0 authorized units
- Cabell County Unincorporated AreaPermit office 54079000 · Cabell County · 60 authorized units
- Calhoun County Unincorporated AreaPermit office 54083000 · Calhoun County · 6 authorized units
- CameronPermit office 54087000 · Marshall County · 0 authorized units
- Capon Bridge townPermit office 54089000 · Hampshire County · 1 authorized units
- Carpendale townPermit office 54091000 · Mineral County · 0 authorized units
- Cedar Grove townPermit office 54093000 · Kanawha County · 1 authorized units
- Ceredo townPermit office 54095000 · Wayne County · 1 authorized units
- Chapmanville townPermit office 54097000 · Logan County · 0 authorized units
- Charles TownPermit office 54099000 · Jefferson County · 269 authorized units
- CharlestonPermit office 54101000 · Kanawha County · 9 authorized units
- Chesapeake townPermit office 54103000 · Kanawha County · 0 authorized units
- ClarksburgPermit office 54107000 · Harrison County · 1 authorized units
- Clay County Unincorporated AreaPermit office 54109000 · Clay County · 11 authorized units
- Clay townPermit office 54111000 · Clay County · 0 authorized units
- Clearview villagePermit office 54113000 · Ohio County · 0 authorized units
- Clendenin townPermit office 54115000 · Kanawha County · 0 authorized units
- Danville townPermit office 54121000 · Boone County · 0 authorized units
- Davis townPermit office 54123000 · Tucker County · 0 authorized units
- DunbarPermit office 54131000 · Kanawha County · 2 authorized units
- Durbin townPermit office 54133000 · Pocahontas County · 2 authorized units
- East Bank townPermit office 54135000 · Kanawha County · Latest year unavailable
- Eleanor townPermit office 54137000 · Putnam County · 1 authorized units
- Elk Garden townPermit office 54141000 · Mineral County · 0 authorized units
- ElkinsPermit office 54143000 · Randolph County · 0 authorized units
- Ellenboro townPermit office 54145000 · Ritchie County · 1 authorized units
- FairmontPermit office 54147000 · Marion County · 5 authorized units
- Farmington townPermit office 54153000 · Marion County · 0 authorized units
- Fayette County Unincorporated AreaPermit office 54155000 · Fayette County · 20 authorized units
- Fayetteville townPermit office 54157000 · Fayette County · 5 authorized units
- FollansbeePermit office 54163000 · Brooke County · 0 authorized units
- Franklin townPermit office 54167000 · Pendleton County · 0 authorized units
- Friendly townPermit office 54169000 · Tyler County · 0 authorized units
- Gassaway townPermit office 54173000 · Braxton County · Latest year unavailable
- Gauley Bridge townPermit office 54175000 · Fayette County · Latest year unavailable
- Gilmer County Unincorporated AreaPermit office 54179000 · Gilmer County · 6 authorized units
- Glasgow townPermit office 54181000 · Kanawha County · 0 authorized units
- Glen DalePermit office 54183000 · Marshall County · 0 authorized units
- Glenville townPermit office 54185000 · Gilmer County · 0 authorized units
- GraftonPermit office 54187000 · Taylor County · Latest year unavailable
- Grant County Unincorporated AreaPermit office 54189000 · Grant County · 22 authorized units
- Granville townPermit office 54195000 · Monongalia County · 0 authorized units
- Greenbrier County Unincorporated AreaPermit office 54197000 · Greenbrier County · 94 authorized units
- Hambleton townPermit office 54199000 · Tucker County · Latest year unavailable
- Hampshire County Unincorporated AreaPermit office 54203000 · Hampshire County · 126 authorized units
- Hancock County Unincorporated AreaPermit office 54205000 · Hancock County · 10 authorized units
- Hardy County Unincorporated AreaPermit office 54209000 · Hardy County · 62 authorized units
- Harman townPermit office 54211000 · Randolph County · 0 authorized units
- Harpers Ferry townPermit office 54213000 · Jefferson County · 6 authorized units
- Harrison County Unincorporated AreaPermit office 54215000 · Harrison County · 35 authorized units
- Harrisville townPermit office 54217000 · Ritchie County · 0 authorized units
- Hartford City townPermit office 54219000 · Mason County · 1 authorized units
- Hedgesville townPermit office 54221000 · Berkeley County · 7 authorized units
- Hendricks townPermit office 54225000 · Tucker County · 0 authorized units
- HintonPermit office 54229000 · Summers County · 0 authorized units
- HuntingtonPermit office 54233000 · Cabell County · 7 authorized units
- HurricanePermit office 54237000 · Putnam County · 0 authorized units
- Jane Lew townPermit office 54245000 · Lewis County · 0 authorized units
- Jefferson County Unincorporated AreaPermit office 54247000 · Jefferson County · 301 authorized units
- Junior townPermit office 54249000 · Barbour County · Latest year unavailable
- Kanawha County Unincorporated AreaPermit office 54251000 · Kanawha County · 70 authorized units
- KenovaPermit office 54253000 · Wayne County · 3 authorized units
- KeyserPermit office 54257000 · Mineral County · 0 authorized units
- KingwoodPermit office 54263000 · Preston County · 0 authorized units
- Lester townPermit office 54269000 · Raleigh County · Latest year unavailable
- LewisburgPermit office 54273000 · Greenbrier County · 8 authorized units
- Lincoln CountyPermit office 54275000 · Lincoln County · 11 authorized units
- Lost Creek townPermit office 54283000 · Harrison County · 0 authorized units
- Lumberport townPermit office 54285000 · Harrison County · 0 authorized units
- Mabscott townPermit office 54287000 · Raleigh County · Latest year unavailable
- MadisonPermit office 54289000 · Boone County · 1 authorized units
- Man townPermit office 54291000 · Logan County · 0 authorized units
- ManningtonPermit office 54293000 · Marion County · 2 authorized units
- Marlinton townPermit office 54297000 · Pocahontas County · 5 authorized units
- MarmetPermit office 54299000 · Kanawha County · Latest year unavailable
- MartinsburgPermit office 54303000 · Berkeley County · 32 authorized units
- Mason townPermit office 54307000 · Mason County · 1 authorized units
- Masontown townPermit office 54309000 · Preston County · Latest year unavailable
- Matewan townPermit office 54311000 · Mingo County · 0 authorized units
- McDowell CountyPermit office 54315000 · McDowell County · 0 authorized units
- McMechenPermit office 54317000 · Marshall County · 0 authorized units
- Mill Creek townPermit office 54325000 · Randolph County · Latest year unavailable
- Milton townPermit office 54327000 · Cabell County · 1 authorized units
- Mineral County Unincorporated AreaPermit office 54329000 · Mineral County · 43 authorized units
- Mitchell Heights townPermit office 54333000 · Logan County · 1 authorized units
- Monongah townPermit office 54335000 · Marion County · 3 authorized units
- MontgomeryPermit office 54341000 · Fayette County · 0 authorized units
- Moorefield townPermit office 54347000 · Hardy County · 3 authorized units
- Morgan County Unincorporated AreaPermit office 54349000 · Morgan County · 128 authorized units
- MorgantownPermit office 54351000 · Monongalia County · 6 authorized units
- MoundsvillePermit office 54353000 · Marshall County · 0 authorized units
- Mount HopePermit office 54355000 · Fayette County · 0 authorized units
- New CumberlandPermit office 54359000 · Hancock County · 0 authorized units
- New Haven townPermit office 54361000 · Mason County · 0 authorized units
- New MartinsvillePermit office 54363000 · Wetzel County · 2 authorized units
- Newburg townPermit office 54365000 · Preston County · 0 authorized units
- NitroPermit office 54369000 · Kanawha County · 7 authorized units
- North Hills townPermit office 54373000 · Wood County · 0 authorized units
- Nutter Fort townPermit office 54377000 · Harrison County · 1 authorized units
- Oak HillPermit office 54379000 · Fayette County · 0 authorized units
- Oakvale townPermit office 54381000 · Mercer County · 0 authorized units
- Oceana townPermit office 54383000 · Wyoming County · Latest year unavailable
- Paden CityPermit office 54391000 · Wetzel County · 0 authorized units
- ParkersburgPermit office 54393000 · Wood County · 6 authorized units
- ParsonsPermit office 54395000 · Tucker County · 1 authorized units
- Paw Paw townPermit office 54397000 · Morgan County · 2 authorized units
- Pendleton County Unincorporated AreaPermit office 54401000 · Pendleton County · 23 authorized units
- PennsboroPermit office 54403000 · Ritchie County · 0 authorized units
- PetersburgPermit office 54405000 · Grant County · 1 authorized units
- Peterstown townPermit office 54407000 · Monroe County · 3 authorized units
- PhilippiPermit office 54409000 · Barbour County · 0 authorized units
- Piedmont townPermit office 54411000 · Mineral County · 0 authorized units
- Pineville townPermit office 54415000 · Wyoming County · Latest year unavailable
- Pleasant ValleyPermit office 54416500 · Marion County · 1 authorized units
- Pleasants County Unincorporated AreaPermit office 54417000 · Pleasants County · 2 authorized units
- Point PleasantPermit office 54423000 · Mason County · 5 authorized units
- Pratt townPermit office 54425000 · Kanawha County · 0 authorized units
- PrincetonPermit office 54429000 · Mercer County · 0 authorized units
- Putnam County Unincorporated AreaPermit office 54433000 · Putnam County · 85 authorized units
- Rainelle townPermit office 54437000 · Greenbrier County · 0 authorized units
- Raleigh County Unincorporated AreaPermit office 54439000 · Raleigh County · 49 authorized units
- Ranson corporationPermit office 54117000 · Jefferson County · 747 authorized units
- RavenswoodPermit office 54443000 · Jackson County · Latest year unavailable
- Reedsville townPermit office 54445000 · Preston County · 0 authorized units
- RichwoodPermit office 54451000 · Nicholas County · 0 authorized units
- Ridgeley townPermit office 54453000 · Mineral County · 0 authorized units
- RipleyPermit office 54455000 · Jackson County · 0 authorized units
- Ritchie County Unincorporated AreaPermit office 54457000 · Ritchie County · 31 authorized units
- Rivesville townPermit office 54459000 · Marion County · Latest year unavailable
- Roane County Unincorporated AreaPermit office 54461000 · Roane County · 21 authorized units
- RomneyPermit office 54463000 · Hampshire County · 2 authorized units
- RoncevertePermit office 54465000 · Greenbrier County · 4 authorized units
- Rowlesburg townPermit office 54467000 · Preston County · 0 authorized units
- Rupert townPermit office 54469000 · Greenbrier County · Latest year unavailable
- SalemPermit office 54471000 · Harrison County · 0 authorized units
- Shepherdstown townPermit office 54473000 · Jefferson County · 1 authorized units
- ShinnstonPermit office 54475000 · Harrison County · 2 authorized units
- SmithersPermit office 54479000 · Fayette County · 0 authorized units
- Smithfield townPermit office 54483000 · Wetzel County · Latest year unavailable
- South CharlestonPermit office 54487000 · Kanawha County · 7 authorized units
- SpencerPermit office 54489000 · Roane County · 0 authorized units
- St. AlbansPermit office 54491000 · Kanawha County · 1 authorized units
- St. MarysPermit office 54493000 · Pleasants County · 1 authorized units
- Star City townPermit office 54495000 · Monongalia County · 1 authorized units
- StonewoodPermit office 54497000 · Harrison County · 0 authorized units
- Summers County Unincorporated AreaPermit office 54499000 · Summers County · 12 authorized units
- SummersvillePermit office 54501000 · Nicholas County · 2 authorized units
- Sutton townPermit office 54503000 · Braxton County · 0 authorized units
- Sylvester townPermit office 54505000 · Boone County · Latest year unavailable
- ThomasPermit office 54511000 · Tucker County · 0 authorized units
- Triadelphia townPermit office 54515000 · Ohio County · Latest year unavailable
- Union townPermit office 54523000 · Monroe County · Latest year unavailable
- Upshur County Unincorporated AreaPermit office 54525000 · Upshur County · 27 authorized units
- Valley Grove villagePermit office 54527000 · Ohio County · 0 authorized units
- ViennaPermit office 54529000 · Wood County · 3 authorized units
- Wardensville townPermit office 54533000 · Hardy County · 1 authorized units
- Wayne County Unincorporated AreaPermit office 54535000 · Wayne County · 57 authorized units
- WeirtonPermit office 54543000 · Hancock County · 4 authorized units
- WellsburgPermit office 54547000 · Brooke County · 0 authorized units
- West Milford townPermit office 54555000 · Harrison County · 0 authorized units
- WestonPermit office 54559000 · Lewis County · 5 authorized units
- WestoverPermit office 54561000 · Monongalia County · 15 authorized units
- Wetzel County Unincorporated AreaPermit office 54563000 · Wetzel County · Latest year unavailable
- WheelingPermit office 54567000 · Ohio County · 3 authorized units
- White Sulphur SpringsPermit office 54569000 · Greenbrier County · 2 authorized units
- Whitesville townPermit office 54571000 · Boone County · Latest year unavailable
- WilliamsonPermit office 54573000 · Mingo County · 0 authorized units
- WilliamstownPermit office 54575000 · Wood County · 4 authorized units
- Winfield townPermit office 54577000 · Putnam County · 32 authorized units
- Wirt CountyPermit office 54579000 · Wirt County · 12 authorized units
- Wood County Unincorporated AreaPermit office 54583000 · Wood County · 74 authorized units
- Worthington townPermit office 54585000 · Marion County · 0 authorized units
- Wyoming County Unincorporated AreaPermit office 54587000 · Wyoming County · 20 authorized units
Sources and definitions
How to read these figures
- The Census Building Permits Survey counts new privately owned housing units authorized by permits. One permit can cover multiple units. The counts describe authorizations, a stage before starts and completions.
- The published estimate includes reported units and Census estimates that fill gaps. The difference is calculated from those two columns. Reported-only units can include records from approved alternative sources. A missing report can leave an office without a usable count.
- County and state totals come from their own Census files. Permit offices can cover places across county lines or areas served by another jurisdiction. The office’s county field is used for navigation.
- ACS housing inventory and rents are survey estimates for 2020–2024. Gross rent includes rent and separately paid utilities or fuels. Rent burden is the share paying at least 30% of income among cash-rent households with a computed ratio. Margins are at 90% confidence. The margin for rent burden is approximate.
- Vintage 2025 county housing stock is a separate Census series. Its model uses building-permit data alongside other inputs. Read stock change and permits as separate measures.
Public sources retrieved November 10, 2026. Building Permits Survey annual data · Survey methodology · American Community Survey data · Download the comparison