GeoIP lookup in 167 KB — continent-level IP geolocation with a geoip-lite-compatible API.
Uses proof-carrying compression to shrink DB-IP Lite from 68 MB to a single npm package. Zero dependencies, works in Node.js, browsers, and edge runtimes.
Note: this build resolves IPs to continent codes (
NA,EU,AS,SA,AF,OC,AN), not country codes. A country-level build is planned.
npm install @proofcodec/geoipimport geoip from '@proofcodec/geoip';
const geo = geoip.lookup('8.8.8.8');
// {
// range: [134744064, 134744319],
// country: 'NA', // continent code — North America
// region: '',
// eu: '0',
// timezone: '',
// city: '',
// ll: [0, 0],
// metro: 0,
// area: 0
// }Returns null if the IP is not found or invalid.
npx @proofcodec/geoip 8.8.8.8
# 8.8.8.8 NA
npx @proofcodec/geoip --json 8.8.8.8 1.1.1.1
# {"ip":"8.8.8.8","range":[...],"country":"NA",...}
# {"ip":"1.1.1.1","range":[...],"country":"OC",...}
echo 8.8.8.8 | npx @proofcodec/geoipExit codes: 0 at least one IP resolved, 1 none resolved, 2 invalid input.
Look up geolocation for an IPv4 address. Returns an object matching the geoip-lite shape, or null. The country field holds a continent code in this build.
Convert a numeric IP to dotted-quad string.
| geoip-lite | @proofcodec/geoip | |
|---|---|---|
| Install size | 110 MB | 167 KB |
| License key required | Yes (MaxMind) | No |
| Edge runtime support | No | Yes |
| Startup time | 200ms+ | <1ms |
| Data source | MaxMind GeoLite2 | DB-IP Lite |
Works on Cloudflare Workers, Vercel Edge, Deno Deploy, and any runtime that supports ESM — no fs dependency, no native modules, no postinstall scripts.
IP geolocation data by DB-IP, licensed under CC-BY-4.0.
When displaying geolocation results to users, please include attribution:
<a href="https://db-ip.com">IP Geolocation by DB-IP</a>A decision tree classifies each /24 IP block by country based on prefix features. A sparse correction table fixes the few blocks where the tree prediction is wrong. Together, tree + corrections achieve 100% accuracy with ~300x compression vs Huffman-optimal encoding.
The compressed format is verified by proofcodec-verify.
MIT. See LICENSE for details.
IP data: CC-BY-4.0 (DB-IP Lite). See NOTICE for attribution requirements.