Fork me on GitHub
Visit the OGC

An Open Format for Geospatial Information

GeoPackage is an open, standards-based, platform-independent, portable, self-describing, compact format for transferring geospatial information.

The GeoPackage Encoding Standard describes a set of conventions for storing the following within an SQLite database:

  • vector features
  • tile matrix sets of imagery and raster maps at various scales
  • attributes (non-spatial data)
  • extensions

To be clear, a GeoPackage is the SQLite container and the GeoPackage Encoding Standard governs the rules and requirements of content stored in a GeoPackage container. The GeoPackage standard defines the schema for a GeoPackage, including table definitions, integrity assertions, format limitations, and content constraints. The required and supported content of a GeoPackage is entirely defined in the standard. These capabilities are built on a common base and the extension mechanism provides implementors a way to include additional functionality in their GeoPackages.

Since a GeoPackage is a database container, it supports direct use. This means that the data in a GeoPackage can be accessed and updated in a "native" storage format without intermediate format translations. GeoPackages that comply with the requirements in the standard and do not implement vendor-specific extensions are interoperable across all enterprise and personal computing environments. GeoPackages are particularly useful on mobile devices such as cell phones and tablets in communications environments where there is limited connectivity and bandwidth.

Highlighted News
OGC document 12-128r14 is now being voted on by the OGC Technical Committee as the GeoPackage 1.2 Encoding Standard - see the release notes.
Official Standards Information

For all official, normative information on the GeoPackage standard, including PDF format download, see the OGC standards program GeoPackage page. Links below provide access to HTML editions of the published OGC standards.

OGC GeoPackage 1.1

OGC GeoPackage 1.0.1

Official Test Suite
OGC has developed an executable test suite for portions of the GeoPackage standard. For information on installing and running the test suite locally, see the GitHub page.




  • GDAL is an open source C library to translate data formats, used practically everywhere. It supports GeoPackage Features as of version 1.11.0. Tiles support was recently developed and will be available in GDAL 2.0. See the GDAL GeoPackage vector and raster documentation for more information.



  • QGIS is the most used open source desktop GIS. It can read and write GeoPackage Features as of version 2.10.1 based on GDAL/OGR. GeoPackage Tiles will be available as soon as GDAL version 2.x is included in a future release.


  • Esri's GIS software is the most recognized in the world, and their ArcGIS for Desktop 10.2.2 and above support reading and writing GeoPackage Features. ArcGIS 10.3 for Desktop adds reading and writing GeoPackage Tiles. ArcGIS Runtime SDK's for Android and Java 10.2.4 and above support reading and writing GeoPackage Features, and reading GeoPackage Tiles. ArcGIS Pro version 1.1 supports reading GeoPackage Features.

National Geospatial-Intelligence Agency

Envitia MapLink

  • Envitia's latest release of MapLink Pro, a suite of powerful SDK's, enables viewing of GeoPackage Tiles and Features, and can also package both on the fly through a Web Processing Service (WPS).


  • GeoPackage is supported in SpatiaLite as of version 4.2.0. SpatiaLite is an open source library intended to extend the SQLite core to support fully fledged Spatial SQL capabilities.


  • GeoServer, an open source Java Server implementing WMS, WFS, WCS and WPS makes available a GeoPackage plugin that can handle both Tiles and Features. It can be the source of data for GeoServer, serving the data in the GeoPackage as a OGC web standards. GeoServer can also generate GeoPackages in a variety of ways (WMS or WFS output, or a WPS process). The plugin is still a 'community module', so it is unsupported and only available as a nightly build in the community section.

Safe Software

  • FME Desktop and FME Server both support reading and writing GeoPackage vectors in their latest version. Their next version will support GeoPackage tiles.


  • GeoTools, an open source Java-based geospatial library, supports GeoPackage Tiles and Features as of version 11.0. Recent improvements also add support for GeoPackage R-Trees.


Engineer Research and Development Center (ERDC)


  • OpenJUMP PLUS is a Java-based desktop GIS, which can read vector data from OGC GeoPackage data files. See this blog post for documentation on how to read a GeoPackage.

Skyline Software Systems


  • Compusult uses GeoPackage extensively across its geospatial management tools. Specifically, GeoPackage is used within GO Mobile, Compusult's widely used mobile app. As an integral part of its core functionality, GO Mobile provides read and write access to tiles and features. Compusult extends the functionality of GeoPackage by implementing several extensions that support styling, simplification, revisioning, elevation and relational metadata. Through Web Enterprise Suite's GeoPackaging Service, GeoPackages can be easily generated from a variety or sources including WMS, WMTS, KML, imagery, geodatabase, shapefile, etc. Compusult's GO Mobile, using GeoPackage, is currently deployed in the field with multiple customers covering several different industries.

ili2gpkg - INTERLIS 2-loader for GeoPackage

  • ili2gpkg is a commandline tool that converts between the Swiss INTERLIS geospatial data exchange format to and from GeoPackage (vector). It translates INTERLIS 2 data model definitions to a GeoPackage schema, loads INTERLIS 2 data into an GeoPackage database, and extracts INTERLIS 2 data from a GeoPackage database.


  • Carmenta supports reading vector data and raster tiles in GeoPackage standard in their Carmenta Server and Carmenta Engine products on Windows, Linux and Android.

Pitney Bowes Software

    Pitney Bowes Software adopts the OGC GeoPackage specification across the LI Suite as of February 2016
  • MapInfo Pro and MapInfo Pro Advanced added support for reading, editing, and creating GeoPackage Feature Tables as of the 15.2.2 release in February 2016.
  • Spectrum Spatial Location Intelligence Module (LIM) added read support for Feature Tables in the Spectrum 10 SP 1 release for Windows and Linux and added support for editing of GeoPackage Feature tables in the v11 release in February 2016 release.
  • MapXtreme is a developer SDK for Microsoft .NET integration and added support for reading, editing, and creating GeoPackage Feature Tables as of the 8.0 release in February 2016.

Manifold Software Limited

  • Radian Studio is a new Windows data engineering environment for GIS and DBMS that blends geospatial and traditional data capabilities. Radian automatically runs fully many-core CPU parallel and also massively GPU parallel using thousands of cores as a GPU DBMS. Radian has built-in GeoPackage support for full read/write of vectors and rasters, including read/write of WKB curves, geometry with Z/M, GP11 extensions, rasters with pyramids and full coordinate system support including SRIDs for GPKG coordinate systems.

 Sample Data

 Latest News

GeoPackage 1.2

Empty Template

Technology test data sets

Esri Sample Data

GeoPackage 1.1/1.0

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

Esri 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




Q How did GeoPackage come about?

A It was designed and prototyped following a multi-year, open process of requirements testing and public input.

Q How do I model multiple geometries in the same feature?

A See the modeling guidelines page.

Q Can GeoPackage be extended?

A It is designed for extension. If you need more than the core GeoPackage feature set, you may submit an issue at the issue tracker. In addition, you may join OGC's open process to standardize community-tested enhancements. For more information on the standards working group, go to

Q Does GeoPackage replace Shapefile?

A It could but it doesn’t have to. If all you need is simple exchange and display then GeoPackage may be overkill and something like GeoJSON may be more appropriate. If you are looking for database capabilities like random access and querying then GeoPackage is a platform-independent, vendor-independent choice. 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.

Q How do you define the spatial extents for your tile pyramid?

A There are two places for the extents. The first, in gpkg_contents, is designed to declare the extents of the content. This one will often be used by applications to define the default view of the tiles. (That means that if a GeoPackage indicates global extents in gpkg_contents, an app is likely to open up the whole world even though it is probably not what the user wants.) The second is in gpkg_tile_matrix_set. It defines the extents of the tile pyramid and is used to calculate the boundaries of each tile in the tile matrix set.

Q Can you mix JPG and PNG files within the same tile pyramid?

A Yes. This technique is particularly useful at edges or holes of your tile pyramid. While JPG tiles are preferred for imagery due to their increased compression, they do not support transparency. It is common to use PNG tiles in the relatively small number of tiles that do not have complete coverage so that you can use its transparency capability.

Q What security capabilities does GeoPackage support?

A As a file encoding, GeoPackage has no explicit security capabilities. However, some organizations have had success with the SQLite Security Extension (SEE).

Q What is the intended content model for the metadata tables?

A We deliberately left this open-ended. We expect that communities of interest will produce profiles of GeoPackage that will specify the metadata (content and format) appropriate for their domain.

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 OGC has not invested in PostGIS, rather PostGIS implements OGC standards. PostGIS is 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 specifying a technology. This is unusual for OGC and the decision was not made lightly, but practicality and ease of implementation won out over standards purity. And we are 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.

Q What is the relationship between GeoPackage and SpatiaLite?

A SpatiaLite was a major influence on the vector portions of GeoPackage but after extensive discussions, the working group chose to diverge from the SpatiaLite format in a few subtle ways. SpatiaLite now supports GeoPackage as of version 4.2.0.

Q Why does GeoPackage use a different Well-Known Binary (WKB) encoding than PostGIS or SpatiaLite?

A The original OGC/ISO standard for WKB does not contain all of the information we wanted to store. In response, both PostGIS and SpatiaLite developed their own ad hoc extensions. After much deliberation, the Standards Working Group (SWG) agreed not to standardize on either of them. Instead, the SWG decided to add additional information to the header so that standard WKB parsers/marshalers could be used for the bulk of the geometry.

Q What is meant by a "native" GeoPackage library?

A A native GeoPackage library is a library that is native to the device's operating system. Note that individual vendors may create their own native GeoPackage libraries to support different use cases. A library written in Go to support server-side operations may have a completely different API than an Android or iOS library with an API designed to support a mobile application. The GeoPackage standard is agnostic to libraries and APIs, focusing instead on the contents of the GeoPackages that act as inputs or outputs.

Q What is the relationship between GeoPackage and MBTiles?

A MBTiles was a major influence on tile support in GeoPackage. In addition to being an international standard, GeoPackage differs from MBTiles in a few ways.

  • MBTiles only supports tiles in the Spherical Mercator projection. While this is the default in GeoPackage, other projections are supported through an extension.
  • MBTiles only supports a single tileset in a file. GeoPackage supports multiple tile sets in a single file, as well as feature data and metadata.
  • The two specifications use a different convention for tile numbering.