Fork me on GitHub
Visit the

An Open Format for Geospatial Information

GeoPackage is the modern alternative to formats like SDTS and Shapefile. Its SQLite-based format efficiently stores and transfers geographic vector features and image tiles.

GeoPackage is the modern alternative to formats like SDTS and Shapefile. At its core, GeoPackage is simply a SQLite database schema. If you know SQLite, you are close to knowing GeoPackage. Install Spatialite – the premiere spatial extention to SQLite – and you get all the performance of a spatial database along with the convenience of a file-based data set that can be emailed, shared on a USB drive or burned to a DVD.

GeoPackage was carefully designed this way to facilitate widespread adoption and use of a single simple file format by both commercial and open-source software applications — on enterprise production platforms as well as mobile hand-held devices. GeoPackage is a standard from the Open Geospatial Consortium. It was designed and prototyped following a multi-year, open process of requirements testing and public input. It is designed for extension. So if you need more than the core GeoPackage feature set, join OGC's open process to standardize community-tested enhancements.

View the Webinar given recently by Directions Magazine in collaboration with OGC!

Official Standards Information
For all official, normative information on the GeoPackage standard, including PDF format download, see the OGC standards program GeoPackage page.



Luciad products with GeoPackage support

  • LuciadLightspeed: Geospatial software components (API) for developing high performance situational awareness applications and web services. Support for reading and writing GeoPackages in LuciadLightspeed V2013.1 and later, vector and raster supported
  • LuciadMobile: Geospatial software components (API) for developing mobile applications on Android. Support for reading, updating, and writing GeoPackages in LuciadMobile V2013.1 and later. Vector and raster supported. The free Luciad GeoPackage viewer is based on this product.
  • LuciadFusion: Data management, data fusion, OGC compliant server for large geospatial data sets. GeoPackage export support in LuciadFusion V2014.0 and later

Envitia MapLink

  • Envitia MapLink allows for viewing vector data and raster tiles stored in a GeoPackage, as well as packaging both through a Web Processing Service (WPS). Demonstrasted in OGC Testbed 10.

GDAL: the Swiss Army knife of open source geodata file formats

OpenJUMP PLUS reads GeoPackages


Esri ArcGIS

  • ArcGIS 10.2.2 for Desktop and Server support the 1.0 vector spec
  • Summer 2014: ArcGIS 10.3 for Desktop will add vector and tiled raster support, and ArcGIS Runtime 10.2.4 for Android and Java will also support GeoPackage!



  • GeoPackage Extension plugin brings in the ability to read and write GeoPackage files both as Vector Data Stores as well as Raster Data Stores. GeoPackage can be used as an output format for WFS GetFeature (creating one vector data layer) as well as WMS GetMap (creating one raster data layer). The GeoServer GeoPackage extension also allows to create a completely custom made GeoPackage with multiple layers, using the GeoPackage process.

Open Source GeoPackaging Web Processing Servers

  • WARNING: This code is experimental. It may not work, applications may break, and you may experience data loss. OGC has no knowledge or responsibility regarding whether they work properly and will not provide support for them. Please evaluate and contribute to the code.
  • Java-OpenMobility: Java GeoPackage and OWS Context library and client(s) developed under the OGC OWS-10 test-bed
  • GeoPackager: A Java-based GeoPackaging service with a WPS interface
  • OWS10 GeoPackaging Service: Originally developed by Cloudant as part of the OGC OWS10 geopackage experiment to create GeoPackages of vector data, and also to experiment with peer-to-peer geosynchronization.

 Sample Data


Land Information New Zealand LINZ Data Service (LDS)

  • "There are over half a billion features of New Zealand topography, hydrography, place name and cadastral data that can be downloaded in the GeoPackage format. Our testing has shown the format to be very good at handling large datasets."
  • press release

Technology Test Data Set

  • generated with GDAL (with -dev version to include spatial index support) thanks to Even Rouault
  • includes all geometry types supported by OGR (2d and 3d), all data types supported by OGR & GPKG, null properties, null geometries, a SRS different from the 3 required ones
  • also available is a Python script to generate this GeoPackage

Simple Sewers test data set

Haiti OpenStreetMap tiles and point features

Geonames data for Belgium




Q How are GeoPackage files shared between apps on iOS and Android devices?

A OGC does not yet have a methodology or best practice for sharing files between apps on mobile devices. On Android there are a couple of different options. With some of the newer updates, Android has some interesting security constraints. There could be a nice solution using the ContentProvider API.

On the iPhone, the security issues of the device cause a lot of problems for cross-app file sharing. Inherently, the device does not want applications to share data except in very narrowly defined ways. So data sharing between apps is not feasible at this time.

Q What were the reasons to go with SQLite, when OGC has invested heavily in PostGIS?

A I wouldn't say OGC has invested in PostGIS. PostGIS implements OGC standards, but OGC as an organization hasn't put any time or effort into PostGIS. To us it's just like any other RDBMS implementation of the Simple Features spec. The primary use case for designing GeoPackage was mobile device use, and that's why SQLite was chosen as a platform. In this case OGC as an organization IS investing in a technology. This is unusual for us and we did not make the decision lightly, but practicality and ease of implementation won out over standards purity. And I'm happy to say we have yet to get any negative feedback on this decision -- probably because SQLite is considered more like a library than a standalone application.