Validador de Código ISO 3166 (País)
Valida códigos de país no formato ISO 3166-1 alpha-2 (BR, US, FR) e alpha-3 (BRA, USA, FRA), retornando o nome do país.
ISO 3166-1: o padrao global para codigos de pais
A ISO 3166-1 e a parte da familia ISO 3166 que lista os codigos de pais de toda nacao soberana, territorio dependente e area especial reconhecida pela Divisao de Estatistica da ONU. E mantida pela Agencia de Manutencao ISO 3166 em Genebra e e a espinha dorsal silenciosa de i18n, formularios de e-commerce, analytics, sistema bancario (formando os dois primeiros caracteres do IBAN) e nomes de dominio (ccTLDs como .br, .us, .de).
O padrao publica tres representacoes paralelas de cada pais, para que cada sistema use a que se ajusta ao canal. Sao mantidas em sincronia: alterar uma dispara atualizacao nas tres.
As tres variantes
- Alpha-2: duas letras maiusculas (
BR,US,GB,DE,FR,JP). E a forma mais comum na web — usada em URLs, identificadores de locale, ccTLDs e atributos HTMLlang. - Alpha-3: tres letras maiusculas (
BRA,USA,GBR,DEU,FRA,JPN). Preferida por entidades esportivas (FIFA e COI tem seus codigos proprios mas referenciam alpha-3) e sistemas proximos do IATA. - Numerico: tres digitos (
076BR,840US,826GB,276DE). Agnostico de alfabeto, imune a problemas RTL/LTR e a unica forma utilizavel quando charsets alfabeticos nao estao disponiveis.
Reservas excepcionais e atribuidas pelo usuario
Nem toda combinacao de duas letras e um pais. A ISO reserva codigos para fins especiais: EU e excepcionalmente reservado para a Uniao Europeia; UK e excepcionalmente reservado (o codigo oficial do Reino Unido e GB — "United Kingdom of Great Britain and Northern Ireland"). XK para o Kosovo e um codigo atribuido pelo usuario, nao oficial em ISO 3166-1. Reservas indeterminadas como AN (Antilhas Holandesas, aposentado em 2010) permanecem bloqueadas por pelo menos 50 anos.
ISO 3166-2: subdivisoes dentro de um pais
Quando voce precisa identificar um estado, provincia ou regiao, use a ISO 3166-2. O formato e PAIS-SUBDIVISAO: BR-SP (Sao Paulo), BR-RJ (Rio de Janeiro), US-CA (California), US-NY (Nova York), GB-ENG (Inglaterra), DE-BY (Baviera). APIs de envio, motores tributarios e autocompletes de endereco geralmente usam 3166-2 internamente.
Codigos que mudaram e codigos que nunca mudam
Codigos de pais mudam raramente mas acontece: Eswatini manteve SZ ao renomear-se de Suazilandia (2018), Tchequia manteve CZ apos a renomeacao curta (2016), Macedonia do Norte ficou em MK (2019) — os nomes curtos mudaram no registro mas os codigos ficaram. Novas entradas aparecem: o Sudao do Sul recebeu SS / SSD / 728 em 2011. Sempre fixe a versao da sua biblioteca ISO 3166 e revise as notas de release uma vez por ano.
Onde a ISO 3166-1 aparece na stack
- Atributo HTML
lang:<html lang="pt-BR">— BCP 47 reaproveita a ISO 3166-1 alpha-2 como subtag de regiao. - Segmento de locale na URL:
/pt-br/(minuscula, recomendado pelo Google) ou/pt-BR/(mista, canonica conforme RFC 5646). - Formularios de envio e checkout: dropdowns de pais enviam alpha-2 ou alpha-3 para gateways de pagamento.
- Relatorios geograficos no Google Analytics 4: paises retornam como ISO 3166-1 alpha-2.
- Residencia de dados LGPD/GDPR: regras de localizacao chaveadas no codigo alpha-2.
- IBAN: os dois primeiros caracteres do IBAN sao o ISO 3166-1 alpha-2 do pais do banco.
- Codigos telefonicos: nao sao ISO — sao ITU-T E.164 (+55 Brasil, +1 EUA, +44 Reino Unido).
Trabalhando com ISO 3166-1 em codigo
Bibliotecas populares:
- JavaScript:
iso-3166,i18n-iso-countries,country-listno npm. - Python:
pycountry(cobre 639, 3166, 4217, 15924). - Java:
java.util.Localeexpoe os codigos viagetCountry()(alpha-2) egetISO3Country()(alpha-3). - .NET: a classe
RegionInfoencapsula alpha-2 e alpha-3.
Exemplo em JavaScript:
const countries = require('i18n-iso-countries')
countries.getName('BR', 'pt') // "Brasil"
countries.getAlpha3Code('Brasil', 'pt') // "BRA"
countries.getNumericCode('BR') // "076"
Pegadinhas comuns
- UK vs GB:
UKe informal e excepcionalmente reservado;GBe o codigo oficial. UseGBem qualquer sistema que precise dialogar com bancos, IATA ou APIs de governo. - UE nao e pais: o codigo
EUe reservado mas nao representa estado soberano — nunca o armazene como nacionalidade. - Irlanda do Norte: faz parte do UK / GB mas tem bandeira e identidade politica proprias. Use ISO 3166-2 (
GB-NIR) quando granularidade importa. - Kosovo: nao tem codigo oficial ISO 3166-1 por disputa politica; o atribuido pelo usuario
XKe convencao de facto. - Hong Kong, Macau, Taiwan: tem codigos ISO proprios (
HK,MO,TW) apesar da sensibilidade politica.
Especificidades do Brasil
O Brasil e identificado por BR (alpha-2), BRA (alpha-3) e 076 (numerico). O locale pt-BR distingue o portugues brasileiro do europeu pt-PT. O ccTLD e .br (administrado pelo NIC.br / Registro.br). Todos os 26 estados + o Distrito Federal tem codigos ISO 3166-2 de BR-AC (Acre) ate BR-TO (Tocantins).
FAQ
Devo usar alpha-2 ou alpha-3?
Para a maioria dos contextos web (locales de URL, lang HTML, GA4, formularios de checkout), alpha-2 e a escolha padrao. Alpha-3 e melhor quando voce precisa de desambiguacao em multiplos idiomas ou compatibilidade com entidades esportivas. Numerico e a opcao segura para sistemas neutros de alfabeto.
Por que o codigo do Reino Unido e GB, nao UK?
Porque o nome oficial ISO do pais e "United Kingdom of Great Britain and Northern Ireland". A ISO 3166-1 derivou o alpha-2 de "Great Britain". UK esta informalmente reservado mas nao e canonico.
A lista ISO 3166 muda com frequencia?
Raramente. Novas adicoes ocorrem em media menos de uma por decada (a ultima foi o Sudao do Sul, em 2011). Mudancas de nome sao mais comuns mas raramente quebram os codigos. Assine o feed da ISO Online Browsing Platform para receber notificacoes.
Esta ferramenta consulta uma API externa?
Nao. A validacao roda localmente contra a tabela ISO 3166-1 embutida. Nada e enviado a um servidor.
Ferramentas Relacionadas
Validador de Código ISO 4217 (Moeda)
Valida códigos de moeda ISO 4217 (BRL, USD, EUR, JPY) e retorna o nome da moeda. Inclui as principais moedas globais.
Validador de Código de Rastreio
Valida o formato de códigos de rastreio dos Correios brasileiros (AA123456789BR). Identifica prefixo do serviço e país.
Validador CBO (Formato)
Valide o formato de um código CBO (Classificação Brasileira de Ocupações, 6 dígitos). Útil para RH, eSocial, cadastros de funcionários e folha de pagamento.