Year-end offer: sign up by Dec 31 and skip the $500 setup fee. Just need the basics? Get half off your first month of our $250/month plan.Compare plans

My take

Shapefile vs. GeoPackage vs. File Geodatabase: Which Should You Use?

By Vibriyogn Epuri · Updated · 3 min read

Short answer

It’s time to retire the shapefile. Use GeoPackage when you share data with anyone, because it’s a single open-standard file that ArcGIS, QGIS and most other GIS tools can read. Use a file geodatabase when you’re working inside Esri and need features like domains, relationship classes or attachments. Keep shapefiles only for older systems that still demand them.

Side by side

ShapefileGeoPackageFile geodatabase
What it isA set of files (.shp, .shx, .dbf, usually .prj and more)One .gpkg file (a SQLite database)A folder ending in .gdb
StandardEsri specification from the 1990sOpen OGC standardEsri format
Size limit2 GB per filePractically, very large1 TB per table by default
Field names10 charactersLong namesLong names
Layers per fileOne, one geometry typeMany, plus raster tilesMany, plus rasters
ExtrasNoneTables, styles, rastersDomains, subtypes, relationship classes, attachments, topology
Best forOld systems that require itSharing with anyoneSerious work inside ArcGIS

Why the shapefile has to go

  • It’s really several files. Email the .shp without the .dbf or .prj and the data is broken or lands in the wrong place.
  • Field names are cut to 10 characters, so INSPECTION_DATE turns into INSPECTION and you’re left guessing.
  • It can’t store true empty values in number fields, and dates have no time of day.
  • One geometry type per file, and a 2 GB ceiling that bigger datasets hit quickly.

When to use GeoPackage

Any time the data is leaving your hands: sending to a client, a contractor, another agency or the public. It’s one file, it keeps long field names and real dates, it can hold many layers at once, and it’s an open standard, so nobody needs a particular vendor’s software to open it. QGIS saves to GeoPackage by default, and ArcGIS Pro reads and writes it.

When to use a file geodatabase

When you’re doing ongoing work in ArcGIS Pro and need what only a geodatabase does well: domains that keep values consistent, subtypes, relationship classes between tables, photo attachments and topology rules. It’s also the natural staging format before publishing to ArcGIS Online or Enterprise. QGIS and other open-source tools can open file geodatabases too.

The other formats you’ll run into

  • GeoJSON: text-based and great for web maps and small datasets. Not for large data.
  • CSV with latitude and longitude: the universal handshake with spreadsheets. Fine for points, useless for shapes.
  • KML/KMZ: Google Earth’s format. Good for showing people a quick view, not for analysis.
  • GeoParquet: a newer columnar format built for very large datasets and cloud analytics.

My take

The shapefile earned its place, but every limit on that list costs someone time when data changes hands. My default is simple: GeoPackage for anything I send out, file geodatabase for anything I’m building in ArcGIS, and a shapefile only when a system on the other end refuses anything else. If you’re publishing open data, offer GeoPackage first.

Questions, answered

Is GeoPackage better than a shapefile?

For almost every use, yes. A GeoPackage is a single open-standard file with long field names, real dates, multiple layers and no 2 GB limit per file.

Can ArcGIS open a GeoPackage?

Yes. ArcGIS Pro can read and write GeoPackage files.

Can QGIS open a file geodatabase?

Yes. QGIS can open file geodatabases, though some Esri-specific features such as relationship classes and topology are best managed in ArcGIS.

Why do people still use shapefiles?

Habit, older software that only accepts shapefiles, and data portals that have published them for decades.

What is the shapefile field name limit?

Ten characters. Longer names are cut off when data is saved as a shapefile.