OpenSource-Hub
N

Nominatim

4.2k stars·Developer Tools·SHA-256 checksum verified

Search OpenStreetMap data by name/address (geocoding) and generate addresses of OSM points (reverse geocoding).

Smart Download

Visit Project Homepage

No installer available yet — head to the source repository

Open-source geocoding engine using OpenStreetMap data, supports forward & reverse lookups.

Core Features

  • Forward geocoding (name/address → coordinates) and reverse (coordinates → address)
  • 100% open data from OpenStreetMap, no API keys or quotas
  • Self-hosted: full control over data and privacy
  • REST API for easy integration into apps and websites
  • Global coverage with community-driven updates

What It Can't Do

  • First import of planet data needs 64GB+ RAM and SSD, can take hours to days. 2. Only OSM data, no commercial POI or real-time traffic. 3. Reverse geocoding accuracy depends on OSM data quality. 4. Public instance has rate limits; self-hosting recommended for production.

Use Cases

  • Power search boxes in mapping applications or navigation systems
  • Batch convert GPS traces to street addresses for logistics
  • Research and data enrichment: turn coordinates into human-readable locations

Detailed Introduction

Nominatim is a geocoding tool that uses OpenStreetMap (OSM) data to find places by name or address (forward geocoding) and to generate readable addresses from coordinates (reverse geocoding). It powers the search on the OSM homepage and can be self-hosted. The latest version is under active development. It requires PostgreSQL, PostGIS, and a Python virtual environment. Installation involves downloading OSM data, importing it, and running a web server. The project is well-documented with troubleshooting guides.

Troubleshooting & FAQ (1)

Troubleshooting
Why does Nominatim show a wrong location when I click on a postcode search result?

Nominatim uses server-local place_ids. When the initial search and the details page are served by different backend servers, the place_id may reference a different object. As a workaround, use Overpass Turbo: go to https://overpass-turbo.eu/s/2oug, adjust the map and change the postcode value, then run the query. Overpass Turbo reflects OSM data changes in seconds. A permanent fix with a stable identifier like P:us:94110 is planned.

GitHub Issue #4079

Tags

openstreetmapgeocodingreverse-geocodingmaps

Getting Started

1

Download installer

Click the button above to download the installer for your system

2

Install the software

Double-click the downloaded installer and follow the prompts

3

Clone the repo and download country grid

4

Create a Python venv and install nominatim-api & nominatim-db

5

Create project dir, download OSM data, run import

Install Guide
  1. Clone the repo and download country grid
  2. Create a Python venv and install nominatim-api & nominatim-db
  3. Create project dir, download OSM data, run import
File Integrity

Checksum not available

This project has not published a SHA-256 checksum on its GitHub Release page

SHA256 Checksum

No checksum available

Download directly from GitHub Releases and verify file integrity yourself

All SHA-256 checksums on this platform are extracted from the project's official GitHub Release page, without any modification. You can independently verify them on the GitHub Releases page.

Open Source Transparency

View GitHub Source
Environment Guide

Uninstall Info

Delete the project directory and virtual environment. To remove the PostgreSQL database, drop the nominatim database and user manually.

No Extra Dependencies

Ready to use after download. No additional runtime required.

Project Info
LicenseGPL-3.0+ and Apache-2.0
Last Updated2026-06-26 20:55:29
GitHub RepositoryOfficial Website

Having issues? Check the FAQ below

1 FAQ

Similar Projects