FlatGeobuf to GeoJSON Converter
Inspect a FlatGeobuf payload in a tool that doesn't read .fgb natively — or hand off to a web-mapping pipeline that wants GeoJSON.
Convert FlatGeobuf to GeoJSON now
Common issues converting FlatGeobuf to GeoJSON
- Attribute types carry over directly: FlatGeobuf int/long become JSON number (long values past 2^53 may lose precision), float/double become number, string stays string, bool stays bool, datetime becomes ISO-8601.
- The packed R-tree spatial index is read but not preserved — GeoJSON has no equivalent. Re-build the index downstream if needed.
- CRS metadata is read from the FlatGeobuf header; if absent, output is assumed to be WGS 84.
- Large .fgb files (10MB+) decode fully into memory before emit. For truly massive files, slice with GDAL pre-conversion or use a streaming pipeline.
Frequently asked questions
Does it stream features one-by-one?
Yes internally — FlatGeobuf is a streaming format and our reader pulls features lazily. The output is buffered to assemble the FeatureCollection, then emitted; for very large files, expect peak memory ~2× input.
What happens to the packed R-tree?
Read but not preserved — GeoJSON has no spatial-index concept. Re-build via your tooling (e.g., rbush in JS, ST_BuildIndex in PostGIS) if you need fast spatial lookups downstream.
Are the CRS and bbox preserved?
CRS is read; coordinates are emitted in the source CRS (or WGS 84 if you request reprojection). The bbox in the FlatGeobuf header is dropped — GeoJSON's top-level bbox isn't widely consumed.
Will it work with QGIS exports?
Yes — QGIS uses GDAL/OGR's FlatGeobuf driver which writes spec-compliant files. Tested against QGIS 3.34 outputs.