Technique · 5 min de lecture

ISO 3166-1 alpha-2, alpha-3 ou numérique : que choisir ?

Publié le

La norme ISO 3166-1 propose trois formats pour identifier un pays : alpha-2 (2 lettres, FR), alpha-3 (3 lettres, FRA), numérique (3 chiffres, 250). Le choix a un impact direct sur la lisibilité, l'indexation et la stabilité de votre base de données.

Tableau comparatif

VersionLisibilitéStabilitéIndexationUsage idéal
Alpha-2BonneBonneCompactWeb, URL, ccTLD
Alpha-3ExcellenteBonneMoyenSport, passeports
NumériqueMauvaiseExcellenteCompactBDD historiques, neutralité linguistique

Alpha-2 — Le défaut du web

Format court (2 lettres), lisible, mnémotechnique. Utilisé partout :

  • Domaines nationaux (.fr, .de, .jp).
  • Emoji drapeaux (Regional Indicators).
  • HTML lang="fr", hreflang="en-US".
  • Adresses postales : champ country_code.

Limite : 26 × 26 = 676 codes possibles, plusieurs déjà épuisés (collisions futures possibles).

Alpha-3 — La référence sport et identité

Format à 3 lettres, plus lisible humainement (FRA > FR, GBR > GB), 17 576 combinaisons possibles. Utilisé pour :

  • Codes pays sur les passeports biométriques (zone MRZ).
  • Compétitions sportives : podiums, classements (FRA, GER, USA).
  • Statistiques de la Banque mondiale et du FMI.

Avantage : moins de risque d'ambiguïté linguistique (l'humain comprend "BRA" pour Brésil sans documentation).

Numérique — Le standard neutre

3 chiffres (001-999) assignés par l'ONU (Division statistique). Insensible à la langue, immuable même en cas de changement de nom de pays.

  • France : 250
  • Allemagne : 276
  • Brésil : 076
  • Japon : 392

Avantage majeur : si la Turquie change de nom en Türkiye (2022), le code numérique 792 reste valable sans modification de base de données.

Inconvénient : illisible pour un humain, nécessite une table de correspondance pour interpréter.

Voir les 250 pays avec tous leurs codes ISO 3166

Recommandation par cas d'usage

Cas d'usageChoix recommandé
Site web e-commerce (sélecteur pays)Alpha-2
API REST publiqueAlpha-2 (compact, lisible URL)
Application sportiveAlpha-3
Base de données interne longue duréeNumérique (stable)
Export comptable / fiscalAlpha-2 (norme SEPA)
Documents biométriquesAlpha-3 (norme ICAO)
Système multilingue avec recherche fuzzyNumérique + alpha-2 en lookup

Bonne pratique : stocker plusieurs versions

Dans une base de données, la pratique recommandée est :

CREATE TABLE countries (
  code_alpha2  CHAR(2) PRIMARY KEY,
  code_alpha3  CHAR(3) UNIQUE NOT NULL,
  code_numeric CHAR(3) UNIQUE NOT NULL,
  name_fr      VARCHAR(100),
  name_en      VARCHAR(100)
);

Ainsi, peu importe le code utilisé par l'API consommatrice, vous pouvez convertir facilement.

Pour aller plus loin

← Retour au blog