Open Source search based on OpenStreetMap data
PHP C Gherkin PLpgSQL Python SourcePawn Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
data rework repeatability change in data/words.sql Jul 22, 2018
docs add FAQ from Aug 11, 2018
lib reduce search radius when searching for nodes within country Aug 19, 2018
module Update nominatim.c Feb 25, 2018
munin Add some comments to help use munin plugin, add over limit detection Jan 14, 2014
mysql2pgsql add mysql to pgsql tool as lib Mar 18, 2013
nominatim Work on setup/update scripts, unit tests, and documentation to enable… Jul 21, 2018
osm2pgsql @ 93b73e5 update osm2pgsql to latest master Aug 17, 2018
settings changed module path to be a runtime configuration settin… Jul 24, 2018
sql fixup use of indexes for latest reverse changes Aug 8, 2018
test test for SearchContext::setViewboxFromBox Aug 14, 2018
utils changed module path to be a runtime configuration settin… Jul 24, 2018
vagrant get rid of Python psycopg2 install warning (#1014) Apr 13, 2018
website unify address details lookup Jul 10, 2018
wikidata replace double-quoting with single quotes where applicable Oct 26, 2017
.gitignore move from autotools to cmake and update osm2pgsql Mar 12, 2016
.gitmodules update osm2pgsql to latest version Sep 29, 2012
.travis.yml On Travis phpcs only ran against tests/php/ directory Jul 23, 2018
AUTHORS prepare for release 3.0.0 Jun 25, 2017
CMakeLists.txt more sanity checks for pyosmium tools Jul 17, 2018 add a note about variable naming for PHP Jul 21, 2018
COPYING tabs-to-spaces Sep 4, 2016
ChangeLog prepare for release 3.1.0 Jan 17, 2018 update links and remove MapQuest reference Jan 22, 2018 use real paths in BDD examples Mar 18, 2018
Vagrantfile vagrant centos: make sure /home/vagrant/Nominatim directory doesnt ge… Mar 7, 2018
phpcs.xml add PHPCS Squiz.Arrays.ArrayDeclaration.KeyNotAligned rule May 7, 2018
phpunit.xml move php tests in common test dir and unify READMEs Dec 30, 2016

Build Status


Nominatim (from the Latin, 'by name') is a tool to search OpenStreetMap data by name and address (geocoding) and to generate synthetic addresses of OSM points (reverse geocoding). An instance with up-to-date data can be found at Nominatim is also used as one of the sources for the Search box on the OpenStreetMap home page.


The documentation of the latest development version is in the docs/ subdirectory. A HTML version can be found at .


The latest stable release can be downloaded from There you can also find installation instructions for the release.

Detailed installation instructions for the development version can be found at as well.

A quick summary of the necessary steps:

  1. Compile Nominatim:

     mkdir build
     cd build
     cmake ..
  2. Get OSM data and import:

     ./build/utils/setup.php --osm-file <your planet file> --all
  3. Point your webserver to the ./build/website directory.


The source code is available under a GPLv2 license.

Contact and Bug reports

For questions you can join the geocoding mailinglist, see

Bugs may be reported on the github project site: