Documents and knowledge · Independent · 23 Oct 2026

openvenues/libpostal

A C library for parsing/normalizing street addresses around the world. Powered by statistical NLP and open geo data.

← Documents and knowledge

In simple English

People write street addresses in many different ways, using local shortcuts and different languages. This library takes a messy, handwritten address and cleans it up into a standard form. It recognizes street names, house numbers and postal codes across more than sixty languages. It does not put a pin on a map or check if an address is real. Instead, it prepares addresses so your search engine or database can compare them easily.

What it is

libpostal is a C library that uses machine learning models trained on open mapping data to parse and normalize global street addresses. It provides official bindings for popular programming languages so you can call its functions from your own software.

What it is good for

Solo builders working on mapping tools, delivery apps, or database deduplication who need to clean up messy user-submitted addresses before searching or storing them.

Stars4.9k
LicenceMIT
Latestv1.1 (2018-05-09)checked 23 Oct 2026
Last code change2026-05-13
Written inC
Setup effort
4 / 5
Payoff
4 / 5
Good
  • Understands addresses in over sixty languages and writing systems.
  • Turns abbreviations and spelled-out numbers into standard forms.
  • Provides official bindings for Python, Ruby, Go, Java, PHP, and NodeJS.
Watch for
  • Written in C, so compilation and linking require system-level build tools.
  • The data models are large, needing several gigabytes of disk space and memory.
  • The core library was created years ago and has seen few recent feature updates.
Replaces

custom regular expressions and giant synonym dictionaries

Works well with

Elasticsearch

Similar repositories
  • pelias/pelias3.6k stars

    A modular open-source geocoder engine that indexes and searches geographic locations.

  • OpenCageData/address-formatting450 stars

    A collection of country-specific templates for formatting postal addresses correctly.

Also reviewed on Repo Radar
Install
git clone https://github.com/openvenues/libpostal
cd libpostal
./bootstrap.sh
./configure --datadir=/path/to/data/dir
make -j4
sudo make install

Independent: reviewed for Repo Radar outside the daily editions. Every independent repository

On Stack Radar: Data & Research › Data Enrichment & Collection › Data Enrichment.

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.