Shapefile to GeoParquet Converter
The migration step every team eventually does — turning a 30-year-old multi-file shapefile into one columnar Parquet file your warehouse can query.
Convert Shapefile to GeoParquet now
Common issues converting Shapefile to GeoParquet
- Upload the entire zipped bundle, not just the .shp. The .dbf, .shx, and .prj sidecar files are required for attributes, indexing, and projection respectively.
- Shapefile field names are capped at 10 characters and uppercased — that survives into Parquet column names. Rename via your dataframe library after conversion if you want longer keys.
- If the .prj is missing or unrecognised, the converter falls back to WGS 84 and warns. Inspect the validator output before trusting projected data.
- Numeric fields in DBF have a fixed precision encoded in the header; values that exceed it round on load. Parquet preserves whatever the DBF actually stored.
Frequently asked questions
Does the converter handle multi-part shapefiles (a directory of .shp files)?
One zipped shapefile per upload. Concatenate the parts in your dataframe library after conversion if you need them in a single Parquet file.
What CRS gets written into the GeoParquet geo metadata?
Whatever the source .prj declares, faithfully translated to PROJJSON if our curated registry has the EPSG code — fallback to WGS 84 if not. The `geo.columns.geometry.crs` field carries this so consumers can reproject correctly.
How large can the source shapefile be?
Up to 200 MB on Pro. Above that the conversion runs server-side via the async API; for larger files talk to us about Enterprise.
Can I preserve the original DBF column types?
Yes. Integer columns become INT64 in Parquet, decimal columns become DOUBLE, and text becomes UTF8 — matching what GeoPandas and DuckDB-spatial expect.