Free Parcel Data

Downloads

Which Format to Take

Every dataset here is published in several formats. None of them is best — they fail in different places, and the right choice depends on what opens the file next.

shp

Shapefile

.zip (.shp/.shx/.dbf/.prj)

The format every desktop GIS reads without being asked, and the one most county assessors still publish.

Take it when
Anything that has to open on someone else's machine without a conversation about drivers. Thirty years of tooling assumes it.
Watch out for
Field names are truncated to 10 characters and the DBF attribute table has no real text encoding declaration, so long assessor column names arrive mangled. The 2 GB per-file ceiling is a real limit on the biggest urban counties.

QGISArcGIS ProGeoPandasGDAL/OGRPostGIS shp2pgsql

geojson

GeoJSON

.geojson

Plain text, WGS84, readable in a browser and in a code review. The web's parcel format.

Take it when
Web maps, quick inspection, scripting, and diffing two vintages in version control.
Watch out for
It is uncompressed JSON, so a large county runs to hundreds of megabytes, and the spec pins coordinates to WGS84 — if you need the county's own state-plane CRS for area calculations, take the GeoPackage instead.

LeafletMapLibreQGISGDAL/OGRPython json

gpkg

GeoPackage

.gpkg

One SQLite file, full-length field names, real CRS metadata, no sidecar files to lose.

Take it when
Everything the Shapefile is bad at: long attribute names, UTF-8 owner names, files over 2 GB, and several layers in one artefact.
Watch out for
Older ArcMap installations and some legacy county workflows cannot read it. It is a binary database file, so it does not diff.

QGISArcGIS ProGDAL/OGRGeoPandasSQLite

csv

CSV

.csv

The attribute table with the geometry left behind — parcel IDs, owners, addresses, valuations.

Take it when
Joining parcel attributes to something you already have keyed on APN, or loading assessment values into a spreadsheet or a warehouse without a spatial extension.
Watch out for
There are no shapes in it. If you need to draw or intersect anything, this is the wrong download.

ExcelpandasDuckDBPostgres COPY

parquet

GeoParquet

.parquet

Columnar, compressed, and typed. Built for reading one column of ten million parcels rather than one parcel at a time.

Take it when
Analytics at scale — multi-county studies, DuckDB, Spark, and anything where the file lives in object storage and you want to scan it without downloading all of it.
Watch out for
Desktop GIS support is recent and uneven; check your GDAL is 3.8 or newer before assuming QGIS will open it.

DuckDBGeoPandasApache SparkGDAL/OGR 3.8+