GeoJSON to GeoPackage Converter
Writes a GeoJSON file into a GeoPackage layer with GDAL's ogr2ogr.
Upload a .geojson or .json file. GDAL writes it as one layer into a GeoPackage. The coordinate system is kept, mixed geometries stay together in one layer, and properties that GeoPackage cannot store natively are converted to JSON text.
Drag a file here to convert, or select file
Accepted: .geojson, .json · max. 50 MB
What the converter does
- The GeoJSON becomes one layer of a GeoPackage, named after the file.
- Mixed geometries (points, lines and polygons in one file) stay in one layer with the geometry type Geometry.
- Lists (JSON arrays) and objects become JSON text (field subtype JSON); GDAL's warning about the list field appears in the report.
- Dates stay dates. Nothing is reprojected: the coordinates stay in the coordinate system of the source.
- 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
The layer name is the file name without extension.
Tested with
| Test file | Result |
|---|---|
| 4 points with a date, a list and an object | 4 of 4 features, EPSG:4326; datum as Date, tags and meta as JSON text |
| Mixed file: 2 points, 1 line, 1 polygon | 1 layer of type Geometry, 4 of 4 features |
| 47.2 MB GeoJSON with 97,578 features (size test) | HTTP 200, 34.6 MB GeoPackage in 3.4 s (upload over HTTP to a local server running the worker code) |
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.
- Each GDAL step may run for up to 240 seconds; a longer run is stopped with an error message.
Frequently Asked Questions
Are mixed geometries a problem?
No. GeoPackage allows a layer of type Geometry, so points, lines and polygons stay together. In the test all 4 mixed features arrived in one layer.
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.