Skip to main content
Vecaria

GeoJSON to FlatGeobuf

Local

Convert GeoJSON to FlatGeobuf (.fgb) in your browser — free, no sign-up, nothing uploaded. Streamable single-layer output with feature count and size summary.

Drag files here, or click to browse

Supports GEOJSON, JSON

Choose file

Preview first: dropping a file parses it and shows the input on the map below — the .fgb is produced only after you click the button.

The input map preview appears here after you drop a GeoJSON file — nothing is converted until you click Convert & download.

What is it? GeoJSON to FlatGeobuf converts GeoJSON to FlatGeobuf (.fgb), a compact, streamable format.

TL;DR: Drop in a GeoJSON file, check it on the input map preview, then click Convert & download to produce a standard, streamable FlatGeobuf (.fgb). Free with no sign-in — the whole conversion runs locally in your browser and your file is never uploaded.

How to use

  1. Drop a .geojson / .json file onto the drop zone — it is parsed and shown on the input map preview, nothing is converted yet.
  2. Click "Convert & download" to produce the .fgb; if your browser blocks the download, check the download prompt.
  3. The result area reports feature count and size; amber disclosure lines list fields dropped for being absent from the first feature and fields written as null for type mismatches.

FAQ

Why FlatGeobuf?

It is compact and supports sequential streaming, which is ideal for web maps. Indexed (random-access) files can be produced with ogr2ogr or the flatgeobuf CLI.

Which inputs are accepted?

FeatureCollection documents at the top level; a bare Feature is rejected with an explicit error.

Is it local?

Yes.

What is FlatGeobuf (.fgb)?

FlatGeobuf is a compact binary encoding for geographic data built on flatbuffers; a single .fgb file holds one layer of Simple Features and can carry an optional packed Hilbert R-tree index for fast bounding-box filtering. GDAL (3.1+), QGIS (3.16+), GeoServer and PostGIS all read it, and the spatial index makes HTTP range requests efficient.

Does the output include a spatial index?

No — this tool writes index-free standard FlatGeobuf, which is right for whole-file downloads and sequential streaming. If you need HTTP range-request random access (for example serving tiles from a static host), produce an indexed file with ogr2ogr (-oo SPATIAL_INDEX=YES) or the flatgeobuf CLI instead.

Why is my .fgb file smaller than the GeoJSON I uploaded?

That is expected. FlatGeobuf is a compact binary format that does not repeat per-feature structure and header text, while GeoJSON is verbose text — a smaller file with the same features is the main reason people convert. Note the column set is taken from the first feature, so extra fields on later features are dropped and reported in the result area.

Examples

  • Input: drop a .geojson FeatureCollection (points, lines or polygons) — preview first, convert on click.
  • Output: a .fgb file download — the result area reports feature count and size.

Supported formats

GeoJSONFlatGeobuf

Limitations

  • Output is index-free standard FlatGeobuf: suited to whole-file downloads and sequential streaming; produce an indexed (random-access) file with ogr2ogr (SPATIAL_INDEX) or the flatgeobuf CLI.
  • FeatureCollection top level only; single layer, no reprojection.
  • The column set comes from the first feature: extra fields on later features are dropped (amber disclosure in the result area); column types come from the first feature's values, so values of a different type on later features are written as null (disclosed per field); if the first feature has empty properties, all attribute columns are lost (same disclosure covers it).

Privacy

Privacy first: this tool runs entirely in your browser — your input and files never leave your device, and everything is cleared when you close the page.