---
title: "IPGeolocation.io Database Formats: CSV, MMDB, and NDJSON"
slug: "/help/ip-geolocation-database-formats"
description: "IPGeolocation.io ships its databases as CSV and MMDB, with NDJSON for WHOIS data and JSON or Parquet on request. Every release is signed and checksummed."
---

# Which Database Formats Does IPGeolocation.io Offer?

By [Abdullah Afzal](https://www.linkedin.com/in/abdullah-a-08ba162b7?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medium=android_app) Database Engineer @IPGeolocation.io

Posted on October 22, 2026 | 6 min read

![Which Database Formats Does IPGeolocation.io Offer?](https://blogs.ipgeolocation.io/blogs-site/content/images/2026/10/feature-1.webp)

The default IPGeolocation.io database formats are CSV and MMDB for the lookup databases and Gzip-compressed NDJSON for the IP WHOIS and ASN WHOIS databases. JSON, Parquet, or a custom format is available on request at no extra cost, and every release arrives as a ZIP archive with a README and SHA-256 checksums.

* * *

## Formats by database

The table lists the data files inside each archive, and each database name links to its documentation page with the full schema.

| Database | Default Formats | Files In The CSV Edition | File In The MMDB Edition |
| --- | --- | --- | --- |
| [IP to Country](https://ipgeolocation.io/documentation/ip-country-database.html) | CSV, MMDB | `db-ip-country.csv.gz`, `db-country.csv.gz`, `db-place.csv.gz` | `db-ip-country.mmdb` |
| [IP to City (Geo Standard)](https://ipgeolocation.io/documentation/ip-geolocation-standard-database.html) | CSV, MMDB | `db-ip-location.csv.gz`, `db-country.csv.gz`, `db-place.csv.gz` | `db-ip-location.mmdb` |
| [IP to Location (Geo Advance)](https://ipgeolocation.io/documentation/ip-geolocation-advance-database.html) | CSV, MMDB | `db-ip-location.csv.gz`, `db-country.csv.gz`, `db-place.csv.gz` | `db-ip-location.mmdb` |
| [IP Security](https://ipgeolocation.io/documentation/ip-security-database.html) | CSV, MMDB | `db-ip-security.csv.gz` | `db-ip-security.mmdb` |
| [IP to Hosting](https://ipgeolocation.io/documentation/ip-hosting-database.html) | CSV, MMDB | `db-ip-hosting.csv.gz` | `db-ip-hosting.mmdb` |
| [Residential Proxy](https://ipgeolocation.io/documentation/residential-proxy-database.html) | CSV, MMDB | `db-residential-proxy.csv.gz` | `db-residential-proxy.mmdb` |
| [IP to ASN (Lite)](https://ipgeolocation.io/documentation/ip-asn-database-lite.html) and [IP to ASN (Deep)](https://ipgeolocation.io/documentation/ip-asn-database-extended.html) | CSV, MMDB | `db-ip-asn.csv.gz`, `db-asn-details.csv.gz` | `db-ip-asn.mmdb` |
| [IP to Company](https://ipgeolocation.io/documentation/ip-company-database.html) | CSV, MMDB | `db-ip-company.csv.gz`, `db-company-details.csv.gz` | `db-ip-company.mmdb` |
| [IP Abuse Contact](https://ipgeolocation.io/documentation/ip-abuse-contact-database.html) | CSV, MMDB | `db-ip-abuse.csv.gz`, `db-abuse-details.csv.gz` | `db-ip-abuse.mmdb` |

The IP WHOIS and ASN WHOIS databases ship in one default format, Gzip-compressed NDJSON:

| Database | Default Format | File In The Archive | CSV | MMDB |
| --- | --- | --- | --- | --- |
| [IP WHOIS](https://ipgeolocation.io/documentation/ip-whois-database.html) | Gzip-compressed NDJSON | `db-ip-whois.json.gz` | On request | On request |
| [ASN WHOIS](https://ipgeolocation.io/documentation/asn-whois-database.html) | Gzip-compressed NDJSON | `db-asn-whois.json.gz` | On request | Not available |

Every archive, whatever the format, holds a `README.md` and a `checksum.txt` with a SHA-256 hash for each file, and each release comes with a matching signature file that you check against the IPGeolocation.io public key, following the verification steps on each database's documentation page.

* * *

## Which format fits your workload

Choose a format by how you'll use the data:

*   **Lookups inside an application or service:** MMDB. It answers one address at a time from a local file, with no joins.
*   **Joins in SQL or a data warehouse:** CSV, or Parquet on request for columnar warehouses.
*   **WHOIS investigations and bulk parsing:** NDJSON, streamed line by line.

Each of these assumes you host the files yourself. Whether to host them at all, or call an API for each lookup instead, is a separate decision, and [choosing between an IP geolocation API and a database](https://ipgeolocation.io/guides/ip-geolocation-api-vs-database-guide) walks through it.

* * *

## What's inside the CSV archive

A CSV download is a ZIP archive of Gzip-compressed CSV files (`.csv.gz`), plus `README.md` and `checksum.txt`. Every CSV file is UTF-8, comma-separated, and starts with a header row. Quoting follows the convention in [RFC 4180](https://www.rfc-editor.org/rfc/rfc4180.html), and some values, such as language lists, contain commas of their own, so read the files with a standard CSV parser or database loader rather than splitting lines on commas.

The location, ASN, company, and abuse contact archives are relational. In the location archive, `db-ip-location.csv.gz` holds the IP ranges with a `country_id` and place IDs for state, district, and city; `db-country.csv.gz` holds one row per country; and `db-place.csv.gz` holds every place name in 12 languages, keyed by ID. The ASN, company, and abuse contact archives each pair a range file with a details file. The security, hosting, and residential proxy archives each hold a single data file that keeps its attributes on every range, so there's nothing to join.

![Diagram of IPGeolocation.io CSV archives: location, ASN, company, and abuse contact files join detail files by ID](https://blogs.ipgeolocation.io/blogs-site/content/images/2026/10/csv-archive-map.webp)

* * *

### 1. Why the CSV files are split and linked by ID

At IPGeolocation.io, we split the relational archives to cut duplication. In one flat file, many rows would repeat the same country and place data and differ only in `start_ip` and `end_ip`, so storing each name once keeps the archive smaller. The cost of the split is a join on ID when you look up an address, and the MMDB edition does that join for you when the file is built.

* * *

## What's inside the MMDB archive

An MMDB download is a ZIP archive with a single `.mmdb` file, plus `README.md` and `checksum.txt`. MMDB is a binary file format built for IP lookups: it maps IP ranges to records and stores them in a search tree, so a reader finds the record for an address by walking the bits of that address instead of scanning the file.

Where the CSV edition keeps IDs that you join, the MMDB edition stores each range's full record. One lookup returns the whole record, with no joins and no database server.

![The same IPGeolocation.io IP range as a CSV row with ID columns and as a nested MMDB record with names](https://blogs.ipgeolocation.io/blogs-site/content/images/2026/10/ip-range-two-shapes.webp)

MMDB is binary, so you read it through a reader library in your application, or without writing code using [the mmdbio command-line tool](https://ipgeolocation.io/cli/mmdbio). To join MMDB data onto logs with plain SQL, you can [query MMDB files with SQL in DuckDB](https://ipgeolocation.io/documentation/duckDB-integration).

* * *

## Why the WHOIS databases ship as NDJSON

IPGeolocation.io ships its IP WHOIS and ASN WHOIS databases as NDJSON because their records are nested. [NDJSON](https://github.com/ndjson/ndjson-spec) (newline-delimited JSON) is a text format with one complete JSON record per line, encoded in UTF-8. A WHOIS record carries an organization plus lists of abuse, admin, technical, and incident-response contacts, and the original registry response, which would take several linked tables in CSV.

The archive holds one Gzip-compressed file, `db-ip-whois.json.gz` or `db-asn-whois.json.gz`, with the organization and contacts embedded in each record, so there are no joins. Despite the `.json.gz` extension, the file isn't one JSON document: parse each line as its own record rather than loading the file as a single array. Because each line stands alone, you can stream the file and never hold it all in memory. Every field is present in every record, but the organization, contact, BGP, and date fields are `null` when the registry has no data for them, so check before reading them.

* * *

## JSON, Parquet, and other formats on request

We deliver any IPGeolocation.io database as JSON, Parquet, or a custom format on request, at no extra cost, with the same stable schemas and changelogs. After CSV and MMDB, JSON and Parquet are the formats customers request most. Parquet suits teams that load data into a warehouse or a data lake, and JSON suits pipelines that already parse JSON everywhere else.

Beyond the format, you can change what the files hold: a custom build lets you mix fields across databases and choose the schema, transforms, update cadence, delivery, and format. The custom build itself costs nothing extra; your subscription price still depends on the databases and the update cadence you pick. For a custom build or a format on request, [contact us through our contact form](https://ipgeolocation.io/db-pricing.html#contact-us-for-quote).

* * *

## Samples, bundles, and custom builds

IPGeolocation.io maintains its data continuously and delivers updated files on your subscription’s update cadence. The databases cover IP geolocation with time zone, security risk signals such as VPN, proxy, Tor, and bot detection with a threat score, and ASN, company, abuse contact, and WHOIS data.

To move forward:

1.  Download a free sample from the tier page that holds your database: [Geo Standard databases](https://ipgeolocation.io/geo-standard-databases.html), [Geo Advance databases](https://ipgeolocation.io/geo-advance-databases.html), or [Security Pro databases](https://ipgeolocation.io/security-pro-databases.html).
2.  Check the schema on the database's documentation page, linked from the tables above.
3.  [Request a quote](https://ipgeolocation.io/db-pricing.html#contact-us-for-quote) for one database, a ready-made bundle, or a custom build, and name the format you need.

## FAQ

### Is the IPGeolocation.io database available in CSV?

**Answer:** Yes, as Gzip-compressed CSV files with a header row. IPGeolocation.io ships every lookup database in both CSV and MMDB; only the IP WHOIS and ASN WHOIS databases default to NDJSON.

### Can I get the WHOIS databases as CSV or MMDB?

**Answer:** As CSV, yes for both, on request and at no extra cost. As MMDB, only IP WHOIS: IPGeolocation.io can prepare it on request, but ASN WHOIS has no MMDB edition, because an MMDB file looks records up by IP address and ASN WHOIS records are keyed by AS number.

### Do the database files include IPv6 ranges?

**Answer:** Yes. In IPGeolocation.io's IP-range databases, IPv4 and IPv6 ranges sit in the same file, and the MMDB editions answer lookups for both.

### How can I read an MMDB file without writing code?

**Answer:** Use [the mmdbio command-line tool](https://ipgeolocation.io/cli/mmdbio) from IPGeolocation.io. It reads any MMDB file: it looks up addresses, shows the schema, exports records to JSON, and validates a file before you deploy it.

### Is there a free version of the IPGeolocation.io database?

**Answer:** Not as a full download: IPGeolocation.io databases are subscriptions priced by quote. You can test the data with the free sample files on each database's product page, or through the free trials on [our Snowflake Marketplace listings](https://ipgeolocation.io/integrations/snowflake), which cover six of the databases.

### Do the CSV and MMDB editions contain the same data?

**Answer:** Yes. IPGeolocation.io builds each MMDB file from the same CSV data, so both editions hold the same records. Only the structure differs: where the CSV edition splits data into files linked by ID, the MMDB edition returns those details already joined in one record.

### Related Help Articles

[![Can IPGeolocation.io Return Place Names in Other Languages?](https://blogs.ipgeolocation.io/blogs-site/content/images/2026/10/visual-0-feature-globe-horizon.webp)](https://ipgeolocation.io/help/ip-geolocation-response-languages)

[Can IPGeolocation.io Return Place Names in Other Languages?](https://ipgeolocation.io/help/ip-geolocation-response-languages)

IPGeolocation.io returns continent, country, state, and city names in 13 languages on paid API plans, and its location databases carry 12. Here are the codes, the fields that change, and the errors to expect.

Posted on November 2, 2026

By [Abdullah Afzal](https://www.linkedin.com/in/abdullah-a-08ba162b7?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medium=android_app)

[Read More](https://ipgeolocation.io/help/ip-geolocation-response-languages)

[![What Is IPGeolocation.io? Key Facts on Its Products, Data, and Plans](https://blogs.ipgeolocation.io/blogs-site/content/images/2026/11/ipgeolocation-io-key-facts-feature-h-orbit.png)](https://ipgeolocation.io/help/key-facts)

[What Is IPGeolocation.io? Key Facts on Its Products, Data, and Plans](https://ipgeolocation.io/help/key-facts)

IPGeolocation.io turns public IPv4 and IPv6 addresses into location, security, network, and company data through APIs, databases, and Snowflake. Here are the facts on each product, how the data is delivered, and how plans and credits work.

Posted on November 1, 2026

By [Sheharyar Malik](https://www.linkedin.com/in/sheharyar-malik-haniel/)

[Read More](https://ipgeolocation.io/help/key-facts)

[![Which IPGeolocation.io Product Should I Use?](https://blogs.ipgeolocation.io/blogs-site/content/images/2026/10/which-ipgeolocation-product-should-i-use.png)](https://ipgeolocation.io/help/which-ipgeolocation-io-product-should-i-use)

[Which IPGeolocation.io Product Should I Use?](https://ipgeolocation.io/help/which-ipgeolocation-io-product-should-i-use)

Match your job to the right IPGeolocation.io product. One IP Geolocation API call covers most jobs; here is when a dedicated API, real-time VPN detection, or a database fits better.

Posted on October 30, 2026

By Abdul Mateen

[Read More](https://ipgeolocation.io/help/which-ipgeolocation-io-product-should-i-use)

[![Does IPGeolocation.io Store the IP Addresses You Look Up?](https://blogs.ipgeolocation.io/blogs-site/content/images/2026/10/does-ipgeolocation-io-store-ip-addresses.png)](https://ipgeolocation.io/help/does-ipgeolocation-io-store-ip-addresses)

[Does IPGeolocation.io Store the IP Addresses You Look Up?](https://ipgeolocation.io/help/does-ipgeolocation-io-store-ip-addresses)

IPGeolocation.io keeps standard API access logs, including the IP addresses you look up, for 14 days and then deletes them. Here is what a log line holds, what we never do with it, and how to look up IP data without sending IPs at all.

Posted on October 29, 2026

By [Daud Ahmad](https://www.linkedin.com/in/daudahmad0303)

[Read More](https://ipgeolocation.io/help/does-ipgeolocation-io-store-ip-addresses)

[![Does IPGeolocation.io Offer Annual and Multi-Year Contracts?](https://blogs.ipgeolocation.io/blogs-site/content/images/2026/10/visual-0-feature-contract-2c-three-terms-fanned.webp)](https://ipgeolocation.io/help/ipgeolocation-io-annual-and-multi-year-contracts)

[Does IPGeolocation.io Offer Annual and Multi-Year Contracts?](https://ipgeolocation.io/help/ipgeolocation-io-annual-and-multi-year-contracts)

Annual billing on IPGeolocation.io API plans gives you two months free, Enterprise API contracts can run for up to three years, and database contracts run one to three. Here's what each term changes, from credits to renewal.

Posted on October 28, 2026

By [Abdullah Afzal](https://www.linkedin.com/in/abdullah-a-08ba162b7?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medium=android_app)

[Read More](https://ipgeolocation.io/help/ipgeolocation-io-annual-and-multi-year-contracts)

[![How Does IPGeolocation.io Database Licensing Work?](https://blogs.ipgeolocation.io/blogs-site/content/images/2026/10/visual-0-feature-option-d-where-data-goes-1.webp)](https://ipgeolocation.io/help/how-ipgeolocation-io-database-licensing-works)

[How Does IPGeolocation.io Database Licensing Work?](https://ipgeolocation.io/help/how-ipgeolocation-io-database-licensing-works)

IPGeolocation.io database licensing comes down to where the files run, whether the use is internal or customer-facing, and how many servers run them. Here are the six license types, how servers are counted, and what the term covers.

Posted on October 25, 2026

By [Abdullah Afzal](https://www.linkedin.com/in/abdullah-a-08ba162b7?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medium=android_app)

[Read More](https://ipgeolocation.io/help/how-ipgeolocation-io-database-licensing-works)
