Skip to content

GPKG (.gpkg)

.gpkg file signature | application/x-geopackage

GeoPackage (GPKG) is an open geospatial container format based on SQLite, defined and maintained by the Open Geospatial Consortium (OGC). It is used to store maps, vector features, rasters, attribute data, and styling information in a single portable file for GIS applications, mobile mapping, and offline data exchange. The format has no special security concerns beyond those of ordinary database files, though any embedded content should be handled cautiously.

Safe

Magic Bytes

Offset 0
53 51 4C 69 74 65 20 66 6F 72 6D 61 74 20 33 00

Sources: Apache Tika

Extension

.gpkg

MIME Type

application/x-geopackage, application/x-geopackage; version=1.1Or1.0

Byte Offset

0

Risk Level

Safe

Validation Code

How to validate .gpkg files in Python

Python
def is_gpkg(file_path: str) -> bool:
    """Check if file is a valid GPKG by magic bytes."""
    signature = bytes([0x53, 0x51, 0x4C, 0x69, 0x74, 0x65, 0x20, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x20, 0x33, 0x00])
    with open(file_path, "rb") as f:
        return f.read(16) == signature

How to validate .gpkg files in Node.js

Node.js
function isGPKG(buffer: Buffer): boolean {
  const signature = Buffer.from([0x53, 0x51, 0x4C, 0x69, 0x74, 0x65, 0x20, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x20, 0x33, 0x00]);
  return buffer.subarray(0, 16).equals(signature);
}

How to validate .gpkg files in Go

Go
func IsGPKG(data []byte) bool {
    signature := []byte{0x53, 0x51, 0x4C, 0x69, 0x74, 0x65, 0x20, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x20, 0x33, 0x00}
    if len(data) < 16 {
        return false
    }
    return bytes.Equal(data[:16], signature)
}

API Endpoint

GET /api/v1/gpkg
curl https://filesignature.org/api/v1/gpkg

See the full API documentation for all endpoints and parameters.

Related Formats

Frequently Asked Questions

What is a .gpkg file?

A .gpkg file is identified by the magic bytes 53 51 4C 69 74 65 20 66 6F 72 6D 61 74 20 33 00 at byte offset 0. GeoPackage (GPKG) is an open geospatial container format based on SQLite, defined and maintained by the Open Geospatial Consortium (OGC). It is used to store maps, vector features, rasters, attribute data, and styling information in a single portable file for GIS applications, mobile mapping, and offline data exchange. The format has no special security concerns beyond those of ordinary database files, though any embedded content should be handled cautiously.

What are the magic bytes for .gpkg files?

The magic bytes for GPKG files are 53 51 4C 69 74 65 20 66 6F 72 6D 61 74 20 33 00 at byte offset 0. These bytes uniquely identify the file format regardless of the file extension.

How do I validate a .gpkg file?

To validate a .gpkg file, read the first bytes of the file and compare them against the known magic bytes (53 51 4C 69 74 65 20 66 6F 72 6D 61 74 20 33 00) at offset 0. This is more reliable than checking the file extension alone, as extensions can be renamed.

What is the MIME type for .gpkg files?

The primary MIME type for .gpkg files is application/x-geopackage. Additional MIME types include: application/x-geopackage, application/x-geopackage; version=1.1Or1.0.

Is it safe to open .gpkg files?

GPKG (.gpkg) files are generally safe to open. They are classified as low risk because they primarily contain data rather than executable code. However, always ensure files come from a trusted source.