Convert a file
Home › Guides › GeoPackage vs Shapefile: which should you use?

GeoPackage vs Shapefile: which should you use?

It comes up on almost every GIS project: deliver a GeoPackage, or a shapefile? This GeoPackage vs Shapefile guide compares the two formats fairly and says when each is the right call. The short answer depends on who will open the file.

Key facts

  • A shapefile is 5 files with a 10-character field-name limit and one geometry type per file.
  • A GeoPackage is one SQLite file with no field-name limit and any number of layers.
  • In a 10,000-point test the shapefile was 3.18 MB (89% in the .dbf) versus 1.99 MB for the same data as GeoPackage.

GeoPackage and Shapefile side by side

The two formats store the same vector data in very different containers. The table compares them on the points that decide most deliveries, and the measured sizes come from one identical 10,000-point dataset converted on this site.

GeoPackage vs Shapefile: one .gpkg file compared with several shapefile parts
One modern file set against several older parts.
AspectShapefileGeoPackage
Files on disk5 parts that must travel togetherOne .gpkg file
Field namesCapped at 10 charactersNo practical limit
Geometry types per fileOneAny number of layers
Size ceiling2 GB per partNone in practice
Size, same 10,000 points3.18 MB1.99 MB
Read byEvery GIS toolQGIS and ArcGIS natively
StandardEsri open specificationOpen OGC standard

Where the shapefile still wins

It is everywhere. Every GIS tool of the last three decades reads it, which makes it the safest thing to send a stranger. When a dataset goes to a contractor, a county office or a reviewer whose software you have never seen, a zipped shapefile will open on the other end.

Its weaknesses are known quantities as well. Ten-character field names, one geometry type per file and the 2 GB ceiling are irritations you can plan around, which is more than can be said for a format the recipient cannot open at all.

Where the GeoPackage wins

A GeoPackage removes the shapefile's limits: field names can be as long as they need to be, any number of layers fits in one file, and there are no loose parts to lose in an email thread. The size advantage is real too, because a GeoPackage stores data in a single SQLite database instead of padding every text value to a fixed width. In the measured test, the same 10,000 points took 1.99 MB as a GeoPackage and 3.18 MB as a shapefile. For real project work it is the cleaner choice, and the full specification sits on the open OGC GeoPackage page.

The rule

Someone asked for a shapefile: send a shapefile. You do not know their software: send a shapefile, because it will open wherever it lands. Every other case, including your own working files and anything you archive, calls for GeoPackage.

How to switch

Both moves run in the browser, with nothing uploaded. Build a GeoPackage from a plain table with CSV to GeoPackage. Turning a shapefile into a GeoPackage happens on the Shapefile converter: drop the zipped parts in, choose GeoPackage as the output, and download one .gpkg that holds everything the five parts held.

“GeoPackage is the answer to almost every shapefile limitation: one file, long field names, multiple layers. The main reason to still send a shapefile is that the recipient asked for one.”
Ghulam Hasnain, PhD researcher in Space Science & Technology and the maker of GISConverters

Frequently asked questions

Why is the shapefile bigger for the same data?

Its attribute table pads every text field to a fixed width with spaces, so short values still occupy their full column width. In the site's test, the .dbf alone was 89% of the shapefile's total size.

Will long field names survive a move to GeoPackage?

Names that were already truncated in a shapefile stay truncated, because the 10-character damage happened on the way in. Start from the original source if you can.

Where is the GeoPackage specification?

On the OGC GeoPackage page at ogc.org. GeoPackage is an open OGC standard built on SQLite, which is why one .gpkg file can hold many layers.

Can QGIS and ArcGIS open a GeoPackage?

Yes. Both read and write it natively, since the format was designed as a modern replacement for the shapefile.

About the author

Ghulam Hasnain is a PhD researcher in space science and technology who works with GIS and remote-sensing data every day, wrangling shapefiles, KML, GPX and CAD drawings across QGIS, ArcGIS and Google Earth. He built GISConverters after one too many format conversions that required uploading sensitive survey data to a stranger's server.