What it does
libpostal helps software understand street addresses written the way people really write them, in many languages and countries. Addresses are full of local habits, short forms and context, which makes them hard for computers to compare or search.
It uses statistical language processing (a way of teaching computers patterns from lots of real examples) and open map data to split an address into its parts and turn it into a clean, normalized form. Its makers note it is not a full geocoder (a tool that turns addresses into map points), but it can be a first step that makes such tools work better.
The core is written in the C programming language. Official add-ons let programmers use it from Python, Ruby, Go, Java, PHP and NodeJS.
Who it's for
Developers building apps that deal with maps, place search, deliveries or any list of addresses from different countries.
Can I use it without coding?
Developers only. It is a programming library that must be built and used from code, not an app with a screen. New to this? Start here.
Can I run it?
- Cost
- FreeNothing to pay or sign up for.
- Privacy
- Runs on your own device: your data stays with you
Try it
Using Claude Code, Cursor or another AI coding assistant? Paste the prompt and it will walk you through the setup.New to this?
Before you install
- Only download from the official GitHub page. Copies with similar names exist for many popular projects.
- Plain-AyI is an independent guide and doesn't host or review the software it lists. Please check each project's official page before installing.
- License (MIT): Very permissive: free to use, change and share, including for business.
- More on staying safe
Where people are talking about it
- Libpostal: C library for parsing/normalizing street addresses around the worldHacker News · Jul 2025
- Libpostal: A C library for parsing/normalizing street addresses around the worldHacker News · Dec 2018