Haywood County, NC Parcels & GIS Data

Haywood County, NC parcel data: 50,824 property records with owner names, assessed values, land use, acreage, and addresses. Preview and download.

Land Records publishes Haywood County, North Carolina parcel data covering 50,824 property records.

This page documents parcel-level coverage for Haywood County, North Carolina. Each parcel record carries its boundary polygon (GIS geometry) along with attributes such as the parcel ID/APN, owner name and mailing address, situs (property) address, assessed land and improvement values, acreage, land-use and zoning codes, year built, and most recent sale price and date. Exact fill rates for Haywood County are listed in the attribute-coverage table below. Preview the data in the interactive explorer, or download the complete Haywood County property dataset.

Haywood County is a county located in the U.S. state of North Carolina. As of the 2020 census, the population was 62,089. The county seat and its largest community is Waynesville.

FIPS 37087

Official county website: https://www.haywoodcountync.gov

The FIPS code for Haywood County is 37087.

SevierCockeMadisonBuncombeTransylvaniaJacksonSwainHaywood
Hosted Web API$200/mo

Attribute coverage

Haywood County contains 50,824 parcels in the current dataset. Column coverage is the percentage of those parcels for which the attribute is populated (non-NULL). For the LBCS columns, only real classifications count: the to-be-determined and not-applicable placeholder codes are excluded.

ColumnCoverageRecords populated
lrid100%50,824
parcelid100%50,822
parcelid299.5%50,566
ogparcelid100%50,822
ogparcelid299.5%50,566
parentid<0.1%0
stackid<0.1%0
geoid100%50,824
statefp100%50,824
countyfp100%50,824
countyname100%50,824
cousubfp100%50,824
cousubname100%50,824
tractce100%50,824
tractname100%50,824
taxacctnum99.6%50,635
taxyear100%50,824
taxdistrict99.6%50,608
usecode99.9%50,772
usedesc99.9%50,774
zoningcode30.3%15,416
zoningdesc30.3%15,413
numbldgs100%50,824
numunits70.6%35,886
yearbuilt63.0%32,014
numfloors0.1%32
bldgsqft62.9%31,982
bedrooms<0.1%0
halfbaths<0.1%0
fullbaths<0.1%0
imprvalue99.6%50,611
landvalue99.6%50,611
agvalue<0.1%10
totalvalue99.6%50,611
taxacres100%50,806
calcarea100%50,824
saleamt99.4%50,540
saledate99.8%50,739
ownertype99.9%50,779
ownername99.9%50,779
owneraddr99.9%50,761
ownercity98.2%49,926
ownerstate0.1%74
ownerzip0.2%95
parceladdr99.9%50,788
parcelcity81.2%41,269
parcelstate100%50,824
parcelzip100%50,824
legaldesc99.8%50,735
township<0.1%0
section<0.1%0
qtrsection<0.1%0
range<0.1%0
plssdesc<0.1%0
book99.3%50,474
page20.9%10,609
block<0.1%0
lot<0.1%0
parceltype1.0%509
accesstype1.0%523
iucnclass0.8%389
placename4.2%2,147
placetype4.1%2,105
firmid100%50,824
firmdate100%50,824
fldzone100%50,824
zonesubty94.8%48,190
staticbfe<0.1%2
elevmin99.4%50,543
elevmax99.4%50,543
elevavg99.4%50,543
fireplaces<0.1%0
heating<0.1%0
heatfuel<0.1%0
cooling<0.1%0
foundation<0.1%0
roofcover<0.1%0
siding<0.1%0
bldgtype<0.1%0
naicscode9.7%4,914
frsid<0.1%0
dfrurl<0.1%0
caapermit<0.1%0
cwapermit<0.1%0
rcrapermit<0.1%0
updated100%50,824
centroidx100%50,824
centroidy100%50,824
surfpointx100%50,824
surfpointy100%50,824
geom100%50,824
extras100%50,824
ownerlist99.2%50,434
placefp30.4%15,427
zoningurl23.3%11,852
lbcsactivity99.6%50,634
lbcsfunction99.4%50,502
lbcstype99.9%50,765
lbcscharacter99.7%50,654
lbcsownership100%50,808
sourceurl<0.1%0

Schema mapping

How source columns from the acquired Haywood County GIS layers map into the harmonized entity schemas and assemble into the published parcel table, alongside supplemented fields (elevation, flood zone) and deterministic columns.

Schema mapping — Haywood County, North Carolina (37087) 2 entities · most recent acquisition per entity · generated 2026-10-17 direct column transformed (expression) geometry extras json supplemented determined ALL ENTITIES → FINAL PARCEL SCHEMA Harmonized entity columns assemble into publish.parcel_layer — matched by column name. Supplemented fields show their fill rate in this county. SOURCE COLUMNS HARMONIZED ENTITIES PUBLISH.PARCEL_LAYER PARCEL parno altparno parusecode parusecd2 parusedesc parusedsc2 struct structyear improvval landval parval recareatx recareano gisacres saledate ownname ownfrst ownlast ownname2 mailadd maddpref maddrno maddstname maddstr maddstsuf maddsttyp mcity mstate mzip siteadd saddpref saddno saddstname saddstr saddstsuf saddsttyp scity sstate stname szip legdecfull revisedate geom cntyname munit sunit multistruc saledatetx parvaltype owntype sourceref sourcedate sourcedatx subdivisio nparno cntyfips stfips stcntyfips gnisid sourceagnt transfdate revdatetx reviseyear mapref subowntype subsurfown structno presentval st_area_shape_ st_perimeter_shape_ parcelid parcelid2 usecode usedesc numbldgs yearbuilt imprvalue landvalue totalvalue taxacres saledate ownername owneraddr ownercity ownerstate ownerzip parceladdr parcelcity parcelstate parcelzip legaldesc updated geom taxdistrict extras ZONING alpha zoning zonereal zoning_def geom 5 cols ⇢ zoningcode zoningdesc zoningtype notes geom extras determined · ground truth 100% lrid 100% geoid 100% statefp 100% countyfp 100% countyname 100% cousubfp 100% cousubname 100% tractce 100% tractname 100% taxyear geom · derived from geometry geom dem.us_1m · USGS 1m DEM 99.4% elevmin 99.4% elevmax 99.4% elevavg s_fld_haz_ar · FEMA NFHL 100% fldzone 94.8% zonesubty 0.0% staticbfe 100% firmdate 100% firmid supplemented · derived / other pipelines 100% taxacctnum 70.6% numunits 62.9% bldgsqft 99.4% saleamt 99.3% book 99.2% ownerlist 100% lbcsactivity 99.4% lbcsfunction 100% lbcstype 100% lbcscharacter 100% lbcsownership lrid parcelid parcelid2 ogparcelid ogparcelid2 geoid statefp countyfp countyname cousubfp cousubname tractce tractname taxacctnum taxyear taxdistrict usecode usedesc zoningcode zoningdesc numbldgs numunits yearbuilt bldgsqft imprvalue landvalue totalvalue taxacres calcarea saleamt saledate ownertype ownername owneraddr ownercity ownerstate ownerzip parceladdr parcelcity parcelstate parcelzip legaldesc book firmid firmdate fldzone zonesubty staticbfe elevmin elevmax elevavg updated centroidx centroidy surfpointx surfpointy geom extras ownerlist lbcsactivity lbcsfunction lbcstype lbcscharacter lbcsownership publish.parcel_layer columns not fed by these sources (37) — empty or below 50% fill in this county parentid, stackid, numfloors, bedrooms, halfbaths, fullbaths, agvalue, township, section, qtrsection, range, plssdesc, page, block, lot parceltype, accesstype, iucnclass, placename, placetype, fireplaces, heating, heatfuel, cooling, foundation, roofcover, siding, bldgtype naicscode, frsid, dfrurl, caapermit, cwapermit, rcrapermit, placefp, zoningurl, sourceurl PARCEL 25 mapped · 21 transformed · 30 unmapped (NULL) SOURCE COLUMNS HARMONIZED → PARCEL parno altparno parusecode parusecd2 parusedesc parusedsc2 struct structyear improvval landval parval recareatx recareano gisacres saledate ownname ownfrst ownlast ownname2 mailadd maddpref maddrno maddstname maddstr maddstsuf maddsttyp mcity mstate mzip siteadd saddpref saddno saddstname saddstr saddstsuf saddsttyp scity sstate stname szip legdecfull revisedate geom cntyname munit sunit multistruc saledatetx parvaltype owntype sourceref sourcedate sourcedatx subdivisio nparno cntyfips stfips stcntyfips gnisid sourceagnt transfdate revdatetx reviseyear mapref subowntype subsurfown structno presentval st_area_shape_ st_perimeter_shape_ parcelid NULLIF(TRIM(parno), '')::text parcelid2 NULLIF(TRIM(altparno), '')::text usecode COALESCE( NULLIF(TRIM(parusecode), '')::text, NULLIF(TRIM(parus… usedesc COALESCE( NULLIF(TRIM(parusedesc), '')::text, NULLIF(TRIM(parus… numbldgs CASE WHEN UPPER(TRIM(struct)) = 'Y' THEN '1'::text WHEN UPPER(T… yearbuilt NULLIF(structyear, 0)::text imprvalue landvalue totalvalue taxacres COALESCE( NULLIF(TRIM(recareatx), '')::text, CASE WHEN recarean… saledate CASE WHEN saledate IS NOT NULL AND saledate > 0 THEN to_timesta… ownername NULLIF(TRIM(concat_ws('; ', COALESCE( NULLIF(TRIM(ownname), '')… owneraddr COALESCE( NULLIF(TRIM(mailadd), '')::text, NULLIF(TRIM(concat_w… ownercity NULLIF(TRIM(mcity), '')::text ownerstate NULLIF(TRIM(mstate), '')::text ownerzip NULLIF(TRIM(mzip), '')::text parceladdr COALESCE( NULLIF(TRIM(siteadd), '')::text, NULLIF(TRIM(concat_w… parcelcity NULLIF(TRIM(scity), '')::text parcelstate COALESCE( NULLIF(TRIM(sstate), '')::text, NULLIF(TRIM(stname), … parcelzip NULLIF(TRIM(szip), '')::text legaldesc NULLIF(TRIM(legdecfull), '')::text updated CASE WHEN revisedate IS NOT NULL AND revisedate > 0 THEN to_tim… geom taxdistrict NULLIF(TRIM(cntyname), '')::text extras (json_build_object( 'munit', munit::text, 'sunit', sunit::text,… not present in source — filled with NULL (30) taxacctnum, taxyear, zoningcode, zoningdesc, numunits, numfloors, bldgsqft, bedrooms, halfbaths, fullbaths, agvalue, saleamt, township, section qtrsection, range, plssdesc, book, page, block, lot, sourceurl, parentid, heatfuel, fireplaces, heating, cooling, foundation, roofcover, siding ZONING 5 mapped · 4 transformed · 5 kept in extras · 4 unmapped (NULL) SOURCE COLUMNS HARMONIZED → ZONING alpha zoning zonereal zoning_def geom zoningcode COALESCE(alpha::text, '') zoningdesc COALESCE(zoning::text, '') zoningtype COALESCE(zonereal::text, '') notes COALESCE(zoning_def::text, '') geom extras · 5 source columns preserved as json mapname, zonesub, globalid, last_edite, last_edi_1 extras not present in source — filled with NULL (4) ordinance, setbacks, restrictions, sourceurl

Neighboring counties

Parcel data for counties bordering Haywood County:

Frequently asked questions

Where can I find Haywood County, NC parcel and GIS data?

Land Records publishes a Haywood County, NC parcel dataset in which every parcel carries its boundary polygon (GIS geometry) along with ownership, assessed value, land use, acreage, and sale history. Preview it in the interactive explorer on this page, or download the full Haywood County, NC dataset as a GeoPackage or CSV.

How many parcels are in Haywood County, NC?

The current dataset contains 50,824 parcel records for Haywood County, NC, each with its boundary geometry and assessor attributes.

What is the FIPS code for Haywood County, NC?

The FIPS code for Haywood County, NC is 37087.

What information does each Haywood County, NC parcel record include?

Each Haywood County, NC parcel record includes the parcel ID/APN, owner name and mailing address, situs (property) address, assessed land and improvement values, acreage, land-use and zoning codes, year built, and the most recent sale price and date — plus the parcel boundary polygon. Per-attribute fill rates are listed in the coverage table on this page.

Is Haywood County, NC parcel data free?

You can preview Haywood County, NC parcels for free in the interactive explorer. The complete dataset is available as a one-time download or through the nationwide parcel web service; see the download options on this page for current pricing.

Does Haywood County, NC have an official GIS or property records website?

Yes — the official Haywood County, NC government website is linked in the county details above. Land Records standardizes Haywood County, NC assessor and recorder records into a single nationwide parcel schema with GIS boundary geometry.

On this page