Live Online Convertergeopackage → geojson

GeoPackage to GeoJSON Converter

Converts every layer of a GeoPackage to GeoJSON with GDAL's ogr2ogr.

Upload a .gpkg file. Every layer is converted; one layer gives one .geojson file, several layers give a ZIP with one .geojson per layer. The QGIS style table layer_styles is skipped because it holds no geodata.

Drag a file here to convert, or select file

Accepted: .gpkg · max. 50 MB

Direct upload to the GDAL worker (Fly.io, Frankfurt)Files are deleted after the conversion

What the converter does

  • Every layer of the GeoPackage is converted. One layer gives one .geojson; several give a ZIP with one .geojson per layer.
  • The QGIS style table layer_styles is skipped (no geodata) and listed in the report.
  • Layers with mixed geometries are written as they are; GeoJSON allows mixed geometries.
  • Nothing is reprojected: the coordinates stay in the coordinate system of the source. A layer in EPSG:25832 stays in metres and gets the crs member urn:ogc:def:crs:EPSG::25832.
  • The report below the upload shows layers and features read and written, skipped layers with the reason, GDAL's warnings and the exact commands.

GDAL command the worker runs

sh — gdal
$ogr2ogr -f GeoJSON converted.geojson input.gpkg parcels

parcels stands for the only layer of the GeoPackage. With several layers the worker runs one command per layer, e.g. ogr2ogr -f GeoJSON layers/roads.geojson input.gpkg roads.

Tested with

Test fileResult
GeoPackage with 2 layers (4 points; 4 mixed geometries) and a QGIS layer_styles tableZIP with punkte.geojson (4) and gemischt.geojson (4); 8 of 8 features; layer_styles skipped and listed
GeoPackage with 1 polygon layer in EPSG:258321 GeoJSON, 1 of 1 feature, metre coordinates, crs EPSG::25832

Tested on 24 Sep 2026 with the worker code of this site and GDAL 3.10.3 (conda-forge build on Windows). The worker image runs the Debian build of the same GDAL version; the live worker was not part of these tests.

Limits

  • Upload limit: 50 MB per file.
  • No reprojection; for RFC 7946 GeoJSON (WGS84) run ogr2ogr locally with -t_srs EPSG:4326.
  • Each GDAL step may run for up to 240 seconds; a longer run is stopped with an error message.

Frequently Asked Questions

Is every layer converted?

Yes. In the test both layers of a two-layer GeoPackage arrived, each as its own GeoJSON. Only the QGIS style table layer_styles is skipped, and the report says so.

Why is my GeoJSON in metres?

The worker keeps the layer's coordinate system. For longitude/latitude run ogr2ogr -f GeoJSON out.geojson in.gpkg -t_srs EPSG:4326 locally.

What happens to my file?

Your browser uploads it directly to the GDAL worker on Fly.io (region Frankfurt). The worker converts it in a temporary folder and deletes the folder after sending the result, or immediately if the conversion fails. Files are not stored permanently.

Related conversions