IP to Country CSV format

Details of the IP to Country database CSV file downloads

IP to Country database CSV format

The format used in the IP to Country CSV database exports is compliant with the specification in RFC4180 : Common Format and MIME Type for Comma-Separated Values (CSV) Files.

The character encoding is standard Unicode UTF-8.


The IP to Country database downloads in the Comma Separated Values format contain the following fields :

1  ip_start
First IP address in the block
2  ip_end
Last IP address in the block
3  continent
Two-letter continent code [AF, AS, EU, NA, OC, SA, AN]
4  country
ISO 3166-1 alpha-2 country code

Sample row for the IP to Country CSV file :,,NA,US

How To

This packages contains the core DB-IP class, a CSV database import tool, and sample lookup code.

Here are the few steps needed to import a CSV file into your local database instance using the tools above :

Create a database table

The first step is to create a new database table to hold the imported data.

If you are updating an already populated and running database, it is recommended you create a new table and use an atomic rename to switch the old with the new once the import is finished.

This is the MySQL table creation statement for the IP to Country lookup table needed by our supported query library and import tool :

CREATE TABLE `dbip_lookup` (
  `addr_type` enum('ipv4','ipv6') NOT NULL,
  `ip_start` varbinary(16) NOT NULL,
  `ip_end` varbinary(16) NOT NULL,
  `continent` char(2) NOT NULL,
  `country` char(2) NOT NULL,
  PRIMARY KEY (`addr_type`,`ip_start`)

Use dbip-update to load the database

dbip-update is the preferred way for loading and updating databases. The tutorial below will guide you through installation, initial database import and setup of automatic updates :

  Database import and update tutorial

Other resources

These packages are not maintained by the DB-IP team but we have selected them because they provide added functionnality or language support.


ZORAN.DB.IP.Importer is a tool that imports into Microsoft SQL Server the freely available geolocation database offered by



Geocode IP addresses with a single Ruby if statement. No network access, no context switches, no delay, just one low-calorie lookup like Geolocal.in_spain?(request.remote_ip).

500,000 individual lookups per second is fairly typical performance.



This project leverages a simple Java webapp that acts as a wrapper around the geoip databases.


Java DB-IP

A simple to use Java library for the freely available DB-IP IP address to city dataset. Requires Java 8

  Java DB-IP


  Back to IP to Country