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 padrão global para códigos de pais
A ISO 3166-1 e a parte da família ISO 3166 que lista os códigos de pais de toda nacao soberana, territorio dependente e área especial reconhecida pela Divisão de Estatistica da ONU. E mantida pela Agência de Manutencao ISO 3166 em Genebra e e a espinha dorsal silenciosa de i18n, formulários de e-commerce, analytics, sistema bancario (formando os dois primeiros caracteres do IBAN) e nomes de domínio (ccTLDs como .br, .us, .de).
O padrão publica três representacoes paralelas de cada pais, para que cada sistema use a que se ajusta ao canal. São mantidas em sincronia: alterar uma dispara atualizacao nas três.
As três variantes
- Alpha-2: duas letras maiúsculas (
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: três letras maiúsculas (
BRA,USA,GBR,DEU,FRA,JPN). Preferida por entidades esportivas (FIFA e COI tem seus códigos próprios mas referenciam alpha-3) e sistemas próximos do IATA. - Numérico: três dígitos (
076BR,840US,826GB,276DE). Agnostico de alfabeto, imune a problemas RTL/LTR e a única forma utilizavel quando charsets alfabeticos não estão disponíveis.
Reservas excepcionais e atribuidas pelo usuário
Nem toda combinação de duas letras e um pais. A ISO reserva códigos para fins especiais: EU e excepcionalmente reservado para a União Europeia; UK e excepcionalmente reservado (o código oficial do Reino Unido e GB — "United Kingdom of Great Britain and Northern Ireland"). XK para o Kosovo e um código atribuído pelo usuário, não 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 você precisa identificar um estado, provincia ou região, use a ISO 3166-2. O formato e PAIS-SUBDIVISAO: BR-SP (São 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 endereço geralmente usam 3166-2 internamente.
Códigos que mudaram e códigos que nunca mudam
Códigos de pais mudam raramente mas acontece: Eswatini manteve SZ ao renomear-se de Suazilandia (2018), Tchequia manteve CZ após a renomeacao curta (2016), Macedonia do Norte ficou em MK (2019) — os nomes curtos mudaram no registro mas os códigos ficaram. Novas entradas aparecem: o Sudao do Sul recebeu SS / SSD / 728 em 2011. Sempre fixe a versão 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 região. - Segmento de locale na URL:
/pt-br/(minuscula, recomendado pelo Google) ou/pt-BR/(mista, canônica conforme RFC 5646). - Formulários de envio e checkout: dropdowns de pais enviam alpha-2 ou alpha-3 para gateways de pagamento.
- Relatórios geograficos no Google Analytics 4: paises retornam como ISO 3166-1 alpha-2.
- Residencia de dados LGPD/GDPR: regras de localização chaveadas no código alpha-2.
- IBAN: os dois primeiros caracteres do IBAN são o ISO 3166-1 alpha-2 do pais do banco.
- Códigos telefonicos: não são ISO — são ITU-T E.164 (+55 Brasil, +1 EUA, +44 Reino Unido).
Trabalhando com ISO 3166-1 em código
Bibliotecas populares:
- JavaScript:
iso-3166,i18n-iso-countries,country-listno npm. - Python:
pycountry(cobre 639, 3166, 4217, 15924). - Java:
java.util.Localeexpõe os códigos 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 código oficial. UseGBem qualquer sistema que precise dialogar com bancos, IATA ou APIs de governo. - UE não e pais: o código
EUe reservado mas não representa estado soberano — nunca o armazene como nacionalidade. - Irlanda do Norte: faz parte do UK / GB mas tem bandeira e identidade política próprias. Use ISO 3166-2 (
GB-NIR) quando granularidade importa. - Kosovo: não tem código oficial ISO 3166-1 por disputa política; o atribuído pelo usuário
XKe convenção de facto. - Hong Kong, Macau, Taiwan: tem códigos ISO próprios (
HK,MO,TW) apesar da sensibilidade política.
Especificidades do Brasil
O Brasil e identificado por BR (alpha-2), BRA (alpha-3) e 076 (numérico). O locale pt-BR distingue o português brasileiro do europeu pt-PT. O ccTLD e .br (administrado pelo NIC.br / Registro.br). Todos os 26 estados + o Distrito Federal tem códigos ISO 3166-2 de BR-AC (Acre) até BR-TO (Tocantins).
FAQ
Devo usar alpha-2 ou alpha-3?
Para a maioria dos contextos web (locales de URL, lang HTML, GA4, formulários de checkout), alpha-2 e a escolha padrão. Alpha-3 e melhor quando você precisa de desambiguacao em múltiplos idiomas ou compatibilidade com entidades esportivas. Numérico e a opção segura para sistemas neutros de alfabeto.
Por que o código do Reino Unido e GB, não 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 não e canônico.
A lista ISO 3166 muda com frequência?
Raramente. Novas adicoes ocorrem em média menos de uma por década (a última foi o Sudao do Sul, em 2011). Mudanças de nome são mais comuns mas raramente quebram os códigos. Assine o feed da ISO Online Browsing Platform para receber notificacoes.
Esta ferramenta consulta uma API externa?
Não. A validação 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.
Validador de ISRC
Valida o formato de códigos ISRC (International Standard Recording Code) usados em faixas musicais: CC-XXX-YY-NNNNN.
Validador de código IATA de cidade
Valide um código IATA de cidade (3 letras), distinto do de aeroporto, contra a lista oficial. Útil para viagens, sistemas de reservas e logística.
Validador ISO 8601 (Tempo, estrito)
Valide estritamente uma duração no formato ISO 8601 (como P1Y2M10DT2H30M). Útil para APIs, agendamentos, vídeos e qualquer campo que use o padrão de duração ISO.