Nominatim
Search OpenStreetMap data by name and address (geocoding).
Open the official app on nominatim.org
This tool is hosted by its maintainers. Click below to open nominatim.org in a new tab — it's their official demo.
Browse maps tools →What's next with Nominatim?
Choose how you want to get started.
Use it free
Open the official tool or demo — no account needed.
Self-host it
Run the open-source version on your own infrastructure.
What is Nominatim?
Nominatim is an open-source geocoding tool developed by the OpenStreetMap community. Its primary purpose is to convert human-readable addresses into geographic coordinates (geocoding) and vice versa (reverse geocoding). By leveraging OpenStreetMap (OSM) data, Nominatim enables users to search for locations by name or address and retrieve structured geographic information. It is widely used by developers, businesses, and organizations requiring location-based services, such as mapping platforms, logistics systems, and civic applications. Nominatim addresses the challenge of translating ambiguous textual location data into precise spatial data, bridging the gap between human language and geographic coordinates. Its scalability and integration with OSM’s real-time updates make it a critical tool for applications demanding up-to-date, open-source geospatial data.
How it works
Nominatim is a geocoding service built on OpenStreetMap data, allowing users to search for locations by name or address. It provides both geocoding (text-to-coordinate) and reverse geocoding (coordinate-to-text) capabilities, making it essential for applications requiring location data processing. The tool is designed for developers and organizations needing to integrate location search functionality into their systems. Its open-source nature under the GPL-2.0 license ensures transparency and community-driven improvements, while its reliance on OSM data ensures real-time updates from a global collaboration of contributors. Nominatim supports free-form queries in multiple languages, enabling users to search for places like 'Cafe Paris, New York' or structured queries with parameters such as 'postcode=12345' or 'city=London'. It also handles reverse geocoding by providing addresses for given latitude/longitude coordinates or OSM object IDs.
How to use it
- 1Install Nominatim on a server by cloning its repository and setting up PostgreSQL/PostGIS. 2. Import OpenStreetMap data tailored to your region or globally. 3. Configure the API to enable geocoding or reverse geocoding endpoints. 4. Integrate the API into your application using HTTP requests to query location data. Practical tips include using the 'structured query mode' for batch processing addresses and enabling nightly updates to keep data synchronized with OSM changes.
What it can do
- geocoding
Use cases
Assumptions and limitations
Assumptions
- source: https://nominatim.openstreetmap.org/
- license: GPL-2.0 — free to use
- privacy: Self-hosted — you control your data
Limitations
- Accuracy depends on the completeness and quality of OpenStreetMap data, which may lag in under-mapped regions.
- Reverse geocoding may return ambiguous results in areas with sparse address data.
- Global data imports require significant storage and computational resources.
- The GPL-2.0 license restricts commercial use without redistribution of modified source code.
- API rate limits may apply to public instances, requiring self-hosting for high-volume use.
Understanding the result
Search OpenStreetMap data by name and address (geocoding).
Tool details
- Clearly flagged when a network request is needed.
- No account, no sign-up, and no tracking of your content.
- Powered by (MIT).
- Built with
- (https://nominatim.openstreetmap.org/)
- License
- MIT
- Runs locally
- No — requires a network request
- Verification
- Not yet verified
- Input
- Query
- Output
- Text
Built with https://nominatim.openstreetmap.org/. OpenToolVault provides the discovery and browser interface while crediting the original project maintainers.
- Built with
- License
- MIT
Open-source project
OpenToolVault is an independent directory. We are not affiliated with or endorsed by this project.
References
- / — GitHub Repository
Upstream project · GitHub
- GPL-2.0 License
Upstream project
Frequently asked
How does Nominatim handle multilingual queries?
Nominatim supports free-form queries in multiple languages by leveraging OpenStreetMap's global contributor base. However, the accuracy of results depends on the availability of translated data and the prevalence of the language in OSM tags. Structured queries (e.g., 'city=London') are language-agnostic but require precise parameter formatting.
How does Nominatim process and store OpenStreetMap data?
Nominatim imports OSM data into a PostgreSQL/PostGIS database, where it is indexed for efficient querying. The data is processed to extract relevant attributes like addresses, names, and geographic relationships. Users can configure the import to include specific regions or the entire globe, with updates applied through nightly data pulls from OSM.
How do I geocode an address using Nominatim's API?
Send an HTTP GET request to the Nominatim API endpoint with the 'q' parameter set to the address (e.g., 'q=1600+Amphibian+Blvd,+Washington,+DC'). Include parameters like 'format=json' for structured output. For structured queries, use parameters like 'postcode=12345' or 'city=London' to refine results. Ensure API keys are used for rate-limiting compliance in production environments.
How does Nominatim compare to commercial geocoding services like Google Maps API?
Nominatim is open-source and free to use, with data sourced from OpenStreetMap, while Google Maps API relies on proprietary datasets. Nominatim excels in regions with active OSM contributors but may lack the global consistency of commercial services. Google Maps API offers broader coverage and additional features like place predictions, but at the cost of licensing fees and data privacy concerns.
What should I do if Nominatim returns no results for a query?
Verify the query's accuracy and check if the location exists in OpenStreetMap. Use structured parameters to narrow results, or test with alternative phrasings. If the issue persists, ensure the imported data includes the relevant region. For reverse geocoding, confirm the coordinates are valid and within the dataset's coverage area.