This project provides ip to location database in csv format.
Country csv format
ip_range_start, ip_range_end, country_code
City csv format
ip_range_start, ip_range_end, country_code, state1, state2, city, postcode, latitude, longitude, timezone
country_code is the two-letter code defined in ISO 3166-1 alpha-2.
You can get the
country name, capital, continent, currency, languages, etc. from the
country_code by Countries Database in JSON, CSV, SQL format.
ip address format
ip_range_end is ip address.
ipv4: The csv line
18.104.22.168,22.214.171.124,AUmeans that ip addresses between
ipv4-num: The csv line
16777216,16777471,AUmeans that ip addresses between
16777216is the number format of the ip address
ipv6: The csv line
2001:200::,2001:200:ffff:ffff:ffff:ffff:ffff:ffff,JPmeans that ip addresses between
ipv6-num: The csv line
42540528726795050063891204319802818560,42540528806023212578155541913346768895,JPmeans that ip addresses between
42540528726795050063891204319802818560is the number format of the ip address
Please be careful when using
ipv6-num in your program. The numerical value exceeds 32bit unsigned integer, so you need to use 64bit unsigned integer.
Databases referenced in this project
When merging multiple database, set the front database above back one. (ex. geo-whois-asn-...csv is created by merging 3 database with GeoFeed > Whois > ASN.)
ASN database [Update: Daily]
GeoFeed database [Update: Daily]
Created by merging GeoFeed database from OpenGeoFeed.
Whois database [Update: Daily]
Created by merging 5 RIP provided WHOIS database. There are some inconsistencies between 5 RIP.
iptoasn.com♣ database [Update: Hourly]
Webnet77♠ database [Update: Daily]
DB-IP★ database [Update: Monthly]
You could download and read the license from ip-to-country-lite or ip-to-city-lite.
These database are licensed under a Creative Commons Attribution 4.0 International License,
so, you must create attribution to DB-IP.com for using this database.
In the case of a web application, you must include a link back to DB-IP.com on pages that display or use results from the database. You may do it by pasting the HTML code snippet into your code:
<a href='https://db-ip.com/'>IP Geolocation by DB-IP</a>.
If you need better accuracy or no attribution or daily updates, please use the Commercial Version of db-ip.
GeoLite2♥ database [Update: Weekly]
GeoLite2 is created by MaxMind. The license of GeoLite2 is written in GEOLITE2_LICENSE and End User License Agreement (EULA) is written in GEOLITE2_EULA. Please carefully read the GEOLITE2_LICENSE and GEOLITE2_EULA files, if you use these database. This package comes with certain restrictions and obligations, most notably:
- You cannot prevent the library from updating the databases.
- You cannot use the GeoLite2 data:
- for FCRA purposes,
- to identify specific households or individuals.
If you need better accuracy, please use the commercial version GeoIp2.
Which database is recommended to use?
Of course, it depends on your use case. But the above list is too long, thus, we write down the recommendation.
- If you need postcode or timezone,
geolite2-cityis the one.
- If you need city data with CC-BY License,
dbip-cityis the one.
- If you need country database with Public Domain, we recommend
License depends on the database which you use. Please read carefully each database license. You can use PDDL (ODC Public Domain Dedication and Licence) or CC0 (Creative Commons Zero) licensed database without attribution for any purpose.