Madison County, AL Parcels & GIS Data

Madison County, AL parcel data: 192,600 property records with owner names, assessed values, land use, acreage, and addresses. Preview and download.

Land Records publishes Madison County, Alabama parcel data covering 192,600 property records.

This page documents parcel-level coverage for Madison County, Alabama. 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 Madison County are listed in the attribute-coverage table below. Preview the data in the interactive explorer, or download the complete Madison County property dataset.

Madison County is a county located in the north central portion of the U.S. state of Alabama. As of the 2020 Census, the population was 388,153, and according to a 2023 population estimate the county has become the second-most populous county in Alabama after only Jefferson County, home to Birmingham. Its county seat is Huntsville.

FIPS 01089

The FIPS code for Madison County is 01089.

JacksonMarshallMorganLimestoneLincolnMadison

Attribute coverage

Madison County contains 192,600 parcels in the current dataset. Column coverage is the percentage of those parcels for which the attribute is populated (non-NULL).

ColumnCoverageRecords populated
lrid100%192,600
parcelid100%192,600
parcelid2<0.1%1
ogparcelid100%192,600
ogparcelid2<0.1%1
parentid<0.1%0
stackid<0.1%0
geoid100%192,600
statefp100%192,600
countyfp100%192,600
countyname100%192,600
cousubfp100%192,600
cousubname100%192,600
tractce100%192,600
tractname100%192,600
taxacctnum<0.1%0
taxyear100%192,599
taxdistrict<0.1%0
usecode<0.1%0
usedesc<0.1%0
zoningcode<0.1%0
zoningdesc<0.1%0
numbldgs<0.1%1
numunits<0.1%0
yearbuilt<0.1%0
numfloors<0.1%0
bldgsqft<0.1%0
bedrooms<0.1%0
halfbaths<0.1%0
fullbaths<0.1%0
imprvalue<0.1%5
landvalue<0.1%5
agvalue<0.1%0
totalvalue<0.1%5
taxacres100%192,600
calcarea100%192,600
saleamt<0.1%0
saledate<0.1%0
ownertype100%192,600
ownername100%192,600
owneraddr100%192,599
ownercity<0.1%5
ownerstate<0.1%3
ownerzip<0.1%5
parceladdr100%192,597
parcelcity<0.1%1
parcelstate100%192,600
parcelzip100%192,600
legaldesc<0.1%5
township<0.1%0
section<0.1%0
qtrsection<0.1%0
range<0.1%0
plssdesc<0.1%0
book<0.1%0
page<0.1%0
block<0.1%0
lot<0.1%1
parceltype0.2%439
accesstype0.2%439
iucnclass0.1%132
placename3.6%6,870
placetype3.5%6,768
firmid100%192,594
firmdate100%192,594
fldzone100%192,594
zonesubty95.6%184,069
staticbfe<0.1%16
elevmin99.7%192,066
elevmax99.7%192,066
elevavg99.7%192,066
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
naicscode18.6%35,802
frsid<0.1%0
dfrurl<0.1%0
caapermit<0.1%0
cwapermit<0.1%0
rcrapermit<0.1%0
updated<0.1%6
centroidx100%192,600
centroidy100%192,600
surfpointx100%192,600
surfpointy100%192,600
geom100%192,600
extras100%192,595
ownerlist<0.1%0

Schema mapping

How source columns from the acquired Madison 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 — Madison County, Alabama (01089) 1 entity · most recent acquisition per entity · generated 2026-07-25 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 pin taxyear shape_starea__ propertyowner mailingaddress propertyaddress url geom 1 cols ⇢ parcelid taxyear taxacres ownername owneraddr parceladdr sourceurl geom extras determined · ground truth 100% lrid 100% geoid 100% statefp 100% countyfp 100% countyname 100% cousubfp 100% cousubname 100% tractce 100% tractname 0.0% updated geom · derived from geometry geom dem.us_1m · USGS 1m DEM 100% elevmin 100% elevmax 100% elevavg s_fld_haz_ar · FEMA NFHL 100% fldzone 95.6% zonesubty 0.0% staticbfe 100% firmdate 100% firmid supplemented · derived / other pipelines 100% parcelstate 100% parcelzip lrid parcelid ogparcelid geoid statefp countyfp countyname cousubfp cousubname tractce tractname taxyear taxacres calcarea ownertype ownername owneraddr parceladdr parcelstate parcelzip firmid firmdate fldzone zonesubty staticbfe elevmin elevmax elevavg updated centroidx centroidy surfpointx surfpointy geom extras publish.parcel_layer columns not fed by these sources (58) — empty or below 50% fill in this county parcelid2, ogparcelid2, parentid, stackid, taxacctnum, taxdistrict, usecode, usedesc, zoningcode, zoningdesc, numbldgs, numunits, yearbuilt numfloors, bldgsqft, bedrooms, halfbaths, fullbaths, imprvalue, landvalue, agvalue, totalvalue, saleamt, saledate, ownercity, ownerstate ownerzip, parcelcity, legaldesc, township, section, qtrsection, range, plssdesc, book, page, block, lot, parceltype, accesstype, iucnclass placename, placetype, fireplaces, heating, heatfuel, cooling, foundation, roofcover, siding, bldgtype, naicscode, frsid, dfrurl, caapermit cwapermit, rcrapermit, ownerlist PARCEL 8 mapped · 1 kept in extras · 46 unmapped (NULL) SOURCE COLUMNS HARMONIZED → PARCEL pin taxyear shape_starea__ propertyowner mailingaddress propertyaddress url geom parcelid taxyear taxacres ownername owneraddr parceladdr sourceurl geom extras · 1 source columns preserved as json shape_stlength__ extras not present in source — filled with NULL (46) parcelid2, taxacctnum, usecode, usedesc, zoningcode, zoningdesc, numbldgs, numunits, yearbuilt, numfloors, bldgsqft, bedrooms, halfbaths fullbaths, imprvalue, landvalue, agvalue, totalvalue, saleamt, saledate, ownercity, ownerstate, ownerzip, parcelcity, parcelstate, parcelzip legaldesc, township, section, qtrsection, range, plssdesc, book, page, block, lot, updated, taxdistrict, parentid, fireplaces, heating, cooling foundation, roofcover, siding, heatfuel

Neighboring counties

Parcel data for counties bordering Madison County:

Frequently asked questions

Where can I find Madison County, AL parcel and GIS data?

Land Records publishes a Madison County, AL 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 Madison County, AL dataset as a GeoPackage or CSV.

How many parcels are in Madison County, AL?

The current dataset contains 192,600 parcel records for Madison County, AL, each with its boundary geometry and assessor attributes.

What is the FIPS code for Madison County, AL?

The FIPS code for Madison County, AL is 01089.

What information does each Madison County, AL parcel record include?

Each Madison County, AL 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 Madison County, AL parcel data free?

You can preview Madison County, AL 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.

On this page