# mledoze/countries

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/mledoze-countries).**

6,235 stars · 1,276 forks · PHP · ODbL-1.0

## Links

- GitHub: https://github.com/mledoze/countries
- Homepage: https://mledoze.github.io/countries/
- awesome-repositories: https://awesome-repositories.com/repository/mledoze-countries.md

## Topics

`countries` `csv` `geojson` `json` `php` `topojson` `xml` `yaml`

## Description

Countries is a static data repository that provides standardized country information based on the ISO 3166-1 schema. The dataset includes comprehensive attributes such as country names, codes, currencies, languages, borders, and area, stored as flat files in multiple formats including JSON, CSV, XML, and YAML without requiring a database or runtime server.

The project includes a command-line tool that allows users to customize the dataset by including or excluding specific fields during export, enabling the creation of tailored country data outputs. Supplementary geographic assets such as GeoJSON outlines and SVG flags for each country are maintained in a separate directory, providing additional resources for mapping and display purposes.

The dataset can be exported in multiple formats from a single source of truth, making it straightforward to integrate standardized country codes and metadata into various applications. The documentation covers how to access, customize, and retrieve country data across these formats.

## Tags

### Data & Databases

- [ISO Country Mappings](https://awesome-repositories.com/f/data-databases/iso-country-mappings.md) — Provides a comprehensive ISO 3166-1 country dataset with names, codes, currencies, and geographic details.
- [Flat-File Data Stores](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/data-persistence-storage/data-storage-architectures/flat-file-data-stores.md) — Stores country data as flat files in multiple formats without a database or runtime server.
- [Geographic Data](https://awesome-repositories.com/f/data-databases/data-retrieval/geographic-data.md) — Provides supplementary GeoJSON outlines and SVG flags for each country alongside the main dataset.
- [Field-Specific Filtering](https://awesome-repositories.com/f/data-databases/delimited-data-parsers/field-specific-filtering.md) — Provides a CLI tool to include or exclude specific data fields during dataset export.
- [Field Selection](https://awesome-repositories.com/f/data-databases/field-selection.md) — Provides a command-line tool to include or exclude specific fields from the country dataset during export.
- [Schema Field Excluders](https://awesome-repositories.com/f/data-databases/type-mapping-frameworks/field-to-model-mappers/schema-field-excluders.md) — Excludes specified fields from the dataset output using a command-line conversion tool. ([source](https://mledoze.github.io/countries/))

### Part of an Awesome List

- [Country Identifiers](https://awesome-repositories.com/f/awesome-lists/data/country-and-regional-data/country-identifiers.md) — Provides access to fields such as names, codes, currencies, languages, borders, and area for each country. ([source](https://mledoze.github.io/countries/))
- [Country Data](https://awesome-repositories.com/f/awesome-lists/data/country-data.md) — Delivers country data as JSON, CSV, XML, or YAML files for integration into various applications. ([source](https://cdn.jsdelivr.net/gh/mledoze/countries@master/README.md))

### Content Management & Publishing

- [Multi-Format Exports](https://awesome-repositories.com/f/content-management-publishing/content-formats-exporting/export-formats/html-exports/multi-format-exports.md) — Converts the same dataset into JSON, CSV, XML, and YAML from a single source of truth.

### Development Tools & Productivity

- [Multi-Format Data Exports](https://awesome-repositories.com/f/development-tools-productivity/multi-format-data-exports.md) — Exports the same country dataset into JSON, CSV, XML, and YAML formats from a single source of truth.
- [Command-Line Argument Filtering](https://awesome-repositories.com/f/development-tools-productivity/command-line-argument-filtering.md) — Includes a command-line tool for filtering which data fields appear in the exported country dataset.

### Software Engineering & Architecture

- [Data Formats](https://awesome-repositories.com/f/software-engineering-architecture/data-formats.md) — Retrieves standardized country information in JSON, CSV, XML, and YAML formats for easy integration. ([source](https://mledoze.github.io/countries/))

### User Interface & Experience

- [Country Field Selectors](https://awesome-repositories.com/f/user-interface-experience/field-customization/custom-data-fields/country-field-selectors.md) — Builds a custom dataset by including or excluding specific fields when generating the output files. ([source](https://cdn.jsdelivr.net/gh/mledoze/countries@master/README.md))
- [Country Field Exporters](https://awesome-repositories.com/f/user-interface-experience/field-customization/custom-data-fields/custom-field-display-in-tables/csl-field-exporters/country-field-exporters.md) — Builds a custom dataset by excluding specific fields using a command-line PHP script. ([source](https://mledoze.github.io/countries/))
