ip2region is an offline IP geolocation library and data-management framework supporting both IPv4 and IPv6. It ships with raw IP datasets and optimized XDB database files for city-level region lookup. Returned records can include country, province, city, ISP, and ISO country-code information. The XDB format supports large datasets, deduplication, compression, and customizable region fields. Query implementations are available for many languages, including Go, Java, Python, PHP, Rust, C, C++, JavaScript, C#, Lua, Erlang, and others. Several cache strategies allow applications to trade memory use for faster query performance, with fully cached lookups operating at microsecond-level speeds. The project also includes tooling for generating, editing, and updating XDB datasets.
Features
- Offline IPv4 and IPv6 geolocation
- City-level region and ISP lookup
- High-performance XDB database format
- Multi-language query clients
- Configurable file and memory caching modes
- XDB generation, editing, and data management tools