A GeoPackage (.gpkg) is an open, standards-based file format for geospatial data built on top of SQLite. A single .gpkg file can hold vector features, raster coverages, tiled imagery, attribute tables, and metadata together — all in one self-contained database. It is defined by an Open Geospatial Consortium (OGC) standard.
What it is and why it matters
GeoPackage was designed as a modern replacement for the aging Shapefile format. Because it is a single SQLite file, it sidesteps Shapefile's well-known limitations: the multi-file sidecar mess (.shp/.shx/.dbf/.prj), the 2 GB size cap, the 10-character field-name limit, and shaky non-ASCII attribute handling.
For GIS and geology teams it matters because one file can carry an entire layered dataset — geological units, faults, sample points, and a DEM tile pyramid — with full UTF-8 attributes and a defined CRS. It is cross-platform, requires no server, and is read/written natively by QGIS, GDAL/OGR, ArcGIS, and most modern tooling.
Concrete example
Convert a Shapefile to GeoPackage with GDAL's ogr2ogr:
ogr2ogr -f GPKG units.gpkg units.shp -nln geological_units
The resulting units.gpkg is a queryable SQLite database. You can add more layers into the same file and even open it with standard SQLite tools to run SQL against the gpkg_contents table that catalogues every layer.
Common pitfall
GeoPackage is excellent for storage and exchange, but it is not a concurrent multi-user database — SQLite locks the whole file on write. For multiple editors hitting the same data simultaneously, use PostGIS instead. GeoPackage shines for single-user editing, delivery, and offline use.