Learn about Osmium

Each project on this site has its own documentation. See each project page for details. Here are some good starting points:


Some of your questions might be answered in the FAQ.

Osmium Concepts Manual

The Osmium Concepts Manual explains some high level concepts of Osmium and all the things that are the same whether you use the libosmium C++ library, its NodeJS or Python bindings, or an application based on any of these. Read this first before you dive into the details of how to use the libraries.

File Formats Manual

OpenStreetMap uses several different types of files containing different types of data and it uses different formats to "encode" this data into bits and bytes on your disk.

The File Formats Manual gives an overview over the different file formats and encodings and explains what they have in common and what their differences are. It has been written for the users of the Libosmium library or any of the tools built on top of this library, but it is useful beyond that.

OPL File Format Manual

The OPL File Format manual contains a description of the OPL file format, a text-based format for OSM data, created for use with scripting languages and typical Unix text utilities such as grep, sed, and awk.

Libosmium C++ Library Manual

The Libosmium Manual describes the C++ library.

Osmium C++ Library Reference

The C++ reference documentation for the Osmium Library is automatically generated using Doxygen. It is, of course, important for C++ developers, but developers using Node Osmium or PyOsmium might want to refer to it, too. It is available for several versions:

Osmium Tool Manual Pages

The Osmium Tool comes with a set of manual pages available from the project page.

OSM Wiki

Some more information about Osmium can be found in the OSM Wiki. But be aware that this information is mostly about the "Old" Osmium.


Over the years Jochen Topf has given several talks about different versions and different aspects of Osmium. Note that some information in these talks is out of date.