Skip to main content



Atom Feed
20 Sep 2023: New Github Organisation
11 Sep 2023: Announcing Themepark
04 Sep 2023: Release 1.9.2
22 Aug 2023: Release 1.9.1
18 Aug 2023: Where We are Going


Osm2pgsql imports OpenStreetMap (OSM) data into a PostgreSQL/PostGIS database. It is an essential part of many rendering toolchains, the Nominatim geocoder and other applications processing OSM data.


Flexible configuration

Clean up and convert the OSM data in any way you like before importing into the database. Database table names, column structure, data types, can all be configured the way your application or style needs it.

Stay up-to-date with OSM

An osm2pgsql database can be updated from OSM change files. If you want to, you can keep your database current with only a few minutes delay from the main OSM database.

Valid Geometries

Osm2pgsl creates point, line, polygon, and multipolygon geometries from OSM data and makes sure they are always valid.


Osm2pgsql is a command line program written in portable C++. It works on Linux, Windows, and macOS.

Many OSM input formats

Process OSM files of any type (in XML, PBF, or O5M format).

Any Projection

Import geometries in Lon/Lat (WGS84), Web Mercator (most popular format for map tiles), or any other projection.

Support for json, jsonb and hstore columns

Use json, jsonb, and hstore PostgreSQL data types to store the complete set of tags of an OSM object in a single database column.

Resource friendly

You can run a database with all OpenStreetMap data for the whole planet on a single, reasonable-sized machine.


These examples show some use cases of osm2pgsql and highlight some features.


Developing and supporting osm2pgsql takes a huge amount of effort. We thank the following companies and organizations for their support: