Geobuf 📦

Geobuf (Protobuf-encoded GeoJSON)

Open Beta
.pbf · application/x-protobuf

Geobuf is a compact binary packing of GeoJSON on Protocol Buffers, created at Mapbox (Vladimir Agafonkin, 2015). It encodes the same objects as GeoJSON but typically 6–8x smaller thanks to varint, coordinate delta encoding, and a key dictionary; decoding returns an equivalent GeoJSON losslessly. It is a transport layer for mobile maps, edge CDN caches, and IndexedDB storage, not an analytical format. Our exporter builds a FeatureCollection from the OSM layers and encodes it into real protobuf .pbf with 6-digit precision (~0.1 m). Important: the format is honest — if encoding fails the export errors out, we do NOT substitute gzipped GeoJSON under a .pbf name.

Export Geobuf now ✨ Open Beta — free, no limits

Key Features

Binary packing of GeoJSON on Protocol Buffers, typically 6–8x smaller
Lossless: decoding returns an equivalent GeoJSON
Default coordinate precision of 6 digits (~0.1 m)
geobuf decoders for JavaScript and Python (Leaflet, Mapbox GL, D3)
Honest guarantee: real protobuf or an error, never a substitution

About Geobuf Format

Geobuf solves one problem: the same GeoJSON, but many times smaller. Instead of text — Protocol Buffers; instead of repeating property names — a dictionary of keys; instead of full coordinates — the differences between neighboring points, written as variable-length numbers. The meaning of the data does not change, only the packing does.

This is a transport format. It is taken when data has to be delivered: into a mobile app over a weak network, onto a CDN node, into a browser's offline storage. Computing statistics or editing features in it is awkward — for that it is first decoded back into GeoJSON.

The file contains a single FeatureCollection with all the selected layers, encoded as genuine protobuf. Coordinates are rounded to six decimal places, which is about ten centimeters on the ground — more than enough for city-level detail. OpenStreetMap attributes are preserved.

There is no substitution: if the encoding fails, the export ends with an error. Handing you a gzipped GeoJSON under a .pbf extension would be easier, but such a file would not decode with the geobuf library — and so would be useless.

What Program Opens Geobuf Files

The following programs and applications can open, edit, and work with Geobuf (Protobuf-encoded GeoJSON) (.pbf) files exported from OSM2CDR:

💻geobuf (npm) 💻python-geobuf 💻Node.js 💻Mapbox GL JS 💻Leaflet

Format specifications

Who Uses Geobuf Maps

🏗
Delivering vector data to a mobile app over a slow network
A compact parcel instead of a heavy GeoJSON — the difference is especially noticeable on mobile internet.
💻
Caching OSM selections on an edge CDN at a smaller size
Fewer bytes on every request to the cache: cheaper traffic and a faster response.
📊
Storing offline data in browser IndexedDB in compact form
The data sits packed in the browser's memory and is unpacked as needed.
🎨
Backing up GeoJSON snapshots 6–8x smaller without data loss
The same set of features in a file many times smaller, and decoding returns the original GeoJSON without any loss.

How to Export Geobuf

1
Select area
Draw a rectangle or polygon on the interactive map at osm2cdr
2
Choose Geobuf
Select Geobuf (Protobuf-encoded GeoJSON) from the list of 127 available export formats
3
Export
Click Export and receive your .pbf file in 1-5 minutes
4
Download
Download the ready Geobuf file and open it in geobuf (npm)

How to Open After Export

Popular maps in Geobuf

Free

Get Geobuf (Protobuf-encoded GeoJSON) map exports

Download professional Geobuf maps from OpenStreetMap. Instant generation, any area.

Free / export
Export Geobuf now →

Frequently Asked Questions

Does Geobuf replace GeoJSON?
How do I open a Geobuf .pbf file?
Do you substitute gzipped GeoJSON for Geobuf?
What is the coordinate precision?
Can this .pbf be confused with Mapbox vector tiles?
How much smaller does the file get?

Related Formats

Frequently Exported Together

Related Articles