finds.dev← search

// the find

mledoze/countries

★ 6,230 · PHP · ODbL-1.0 · updated May 2026

World countries in JSON, YAML, CSV and XML. Any help is welcome!

A static dataset of all ISO 3166-1 countries in JSON, CSV, XML, and YAML, with fields covering names (native + translations), codes, currencies, calling codes, borders, GeoJSON/TopoJSON outlines, and SVG flags. It's a grab-and-go reference for any app that needs country metadata without hitting a live API. Actively maintained — last push was two weeks ago.

The breadth of fields is genuinely useful: you get alpha-2, alpha-3, numeric codes, IOC code, IDD root/suffixes, genderized demonyms in multiple languages, and UN membership status all in one place. The GeoJSON and TopoJSON outlines per country are included in the repo itself, not just linked externally — that's a real convenience for map rendering. The PHP converter lets you strip fields you don't need, so the output isn't forced to be a 5MB blob. Available on both npm (world-countries) and Packagist, so it drops into most build pipelines without ceremony.

Data sourced partly from Wikipedia means accuracy is crowd-dependent; there's no automated pull from authoritative sources like CLDR or ISO directly (it's in the TODO and has been for years). The `languages` field uses ISO 639-3 codes as keys but only lists the language name in English — no endonym, no script info, which matters for anything doing real i18n. Population and GDP are absent entirely, so for any analytical use you're immediately reaching for a second dataset. The GeoJSON outlines come from a 2009 thematic mapping dataset, so border accuracy for territories with disputed or changed boundaries since then is questionable.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →