1001Ferramentas
🇧🇷Validadores

Validador de Código UF IBGE

Valida o código IBGE de UF (2 dígitos: 11-53). Cobre os 27 códigos oficiais e mostra a UF e nome correspondente.

Validação do código UF do IBGE: 2 dígitos, 27 estados válidos, numeração não consecutiva

O código UF do IBGE e um identificador numérico de 2 dígitos atribuído pelo IBGE (Instituto Brasileiro de Geografia e Estatistica) a cada unidade federativa brasileira — 26 estados mais o Distrito Federal. E o código canônico usado em NF-e, eSocial, CNAE, dados georreferenciados e estatísticas federais. Validar não e checar se a entrada tem dois dígitos: apenas 27 valores específicos são legais, e a numeração e intencionalmente não consecutiva.

O risco de confundir o código UF do IBGE com qualquer número de 2 dígitos e real: sistemas de emissão que cravam 00..99 como faixa valida silenciosamente aceitam códigos inválidos como 34 ou 44, e a Sefaz so detecta o erro na transmissão, retornando rejeicao 247 ("UF do destinatário invalida") ou 251 ("cUF não corresponde ao emitente").

A tabela completa dos 27 códigos válidos

Os códigos IBGE são organizados por região; o primeiro dígito reflete a região geografica.

  • Norte (1x): 11 RO (Rondonia), 12 AC (Acre), 13 AM (Amazonas), 14 RR (Roraima), 15 PA (Para), 16 AP (Amapa), 17 TO (Tocantins).
  • Nordeste (2x): 21 MA (Maranhao), 22 PI (Piaui), 23 CE (Ceara), 24 RN (Rio Grande do Norte), 25 PB (Paraiba), 26 PE (Pernambuco), 27 AL (Alagoas), 28 SE (Sergipe), 29 BA (Bahia).
  • Sudeste (3x): 31 MG (Minas Gerais), 32 ES (Espírito Santo), 33 RJ (Rio de Janeiro), 35 SP (São Paulo).
  • Sul (4x): 41 PR (Parana), 42 SC (Santa Catarina), 43 RS (Rio Grande do Sul).
  • Centro-Oeste (5x): 50 MS (Mato Grosso do Sul), 51 MT (Mato Grosso), 52 GO (Goias), 53 DF (Distrito Federal).

Total: 27 códigos válidos. Qualquer entrada fora desse conjunto e invalida — não ha exceção.

As lacunas: por que 18, 19, 20, 30, 34, 36-40, 44-49 não existem

Fonte clássica de bug em validadores de NF-e e supor que os códigos UF são sequenciais. Não são. A Resolução IBGE de 1976 numerou os estados em ordem regional com espaços deliberados para crescimento:

  • 18, 19, 20: nunca atribuídos. Reservados para hipoteticas futuras divisoes da região Norte. Quando Tocantins (17) foi criado a partir de Goias em 1988, o IBGE optou por não preencher 18-20 — permanecem como buffer legado do antigo Norte.
  • 30: nunca atribuído. Funcionou como separador entre o último código do Nordeste (29 BA) e a faixa do Sudeste.
  • 34: vaga no Sudeste. SP recebeu o 35 diretamente na tabela original pela sua proeminencia; o 34 ficou reservado para uma UF Sudeste extra que nunca se concretizou.
  • 36 a 40: buffer entre Sudeste e Sul.
  • 44 a 49: buffer entre Sul e Centro-Oeste.

Licao: nunca valide um código UF com code >= 11 && code <= 53. Sempre consulte contra o conjunto explícito dos 27 códigos.

Implementação de referência

const VALIDOS = new Set([
  11,12,13,14,15,16,17,
  21,22,23,24,25,26,27,28,29,
  31,32,33,35,
  41,42,43,
  50,51,52,53
])

function validarUfIbge(entrada) {
  const re = /^\d{2}$/
  if (!re.test(entrada)) return { ok: false, erro: 'formato' }
  const codigo = parseInt(entrada, 10)
  if (!VALIDOS.has(codigo)) return { ok: false, erro: 'codigo inexistente' }
  return { ok: true, codigo }
}

Código vs sigla: duas notacoes paralelas

No Brasil, o estado e identificado de duas formas: a sigla de 2 letras (SP, RJ, MG) e o código IBGE de 2 dígitos (35, 33, 31). Ambos são oficiais e inequivocos, mas aparecem em contextos diferentes:

  • Sigla: placas de veículos, prefixos de CEP, endereços, etiquetas postais, jornalismo.
  • Código: NF-e (tag cUF), eSocial, FGTS, arquivos INSS, estatísticas IBGE, XML de governo, CNES.

Ao integrar sistemas diferentes, mantenha ambos na sua tabela de lookup. A BrasilAPI expõe um endpoint gratuito de leitura: GET https://brasilapi.com.br/api/ibge/uf/v1 retorna a lista canônica com código, sigla e nome completo.

Casos de uso que exigem validação

  • Tag cUF da NF-e: o código IBGE do estado do emitente, usado pela Sefaz para rotear o documento para o webservice da UF correta. cUF errado retorna rejeicao 247 ou 251.
  • eSocial S-1000: o código UF do empregador e obrigatório no evento de cadastro da empresa.
  • Códigos municipais: o código IBGE de município (7 dígitos) começa com o código UF; validar o prefixo pega typos antes do lookup posterior.
  • Dados georreferenciados: DataSUS, INEP e IPEA chaveiam tudo pelo código UF do IBGE.
  • Estatísticas e BI: a maioria dos datasets públicos faz join por código IBGE, não por sigla.

Nota histórica: TO e a expansão de 1988

A tabela IBGE original de 1976 tinha 26 estados. Tocantins (código 17) foi criado pela Constituição de 1988 a partir do norte de Goias, e o IBGE o encaixou no bloco Norte — preservando a disciplina do prefixo 1x. Nenhum código anterior foi reescrito, razão pela qual tanto software legado tem Tocantins ausente, em vez de incorreto.

Outras propostas de estados da época de 1988 (Triangulo Mineiro, São Francisco, Maranhao do Sul) nunca se concretizaram, deixando as lacunas reservadas intactas. Qualquer nova UF receberia um código do próximo slot disponível, não um reciclado.

FAQ

Os códigos são consecutivos? Não. Existem lacunas deliberadas (18, 19, 20, 30, 34, 36-40, 44-49). Valide sempre contra o conjunto explícito dos 27 códigos, nunca contra uma faixa.

Quando a tabela muda? So quando uma nova unidade federativa e criada ou uma existente e desmembrada — nada disso acontece desde Tocantins, em 1988. Para fins praticos a tabela e estável.

Existe API oficial gratuita? Sim. O endpoint do IBGE (servicodados.ibge.gov.br/api/v1/localidades/estados) e gratuito e sem autenticação; a BrasilAPI faz proxy dos mesmos dados com payloads mais simples.

Por que SP e 35 e não 34? O código 34 ficou reservado como folga futura para o Sudeste; SP, a maior UF do Sudeste, ancorou o próximo número significativo (35) na tabela original de 1976. A reserva nunca foi usada.

Posso confundir o código UF do IBGE com prefixo GS1 de pais? Não. Os prefixos GS1 para o Brasil são 789-790 (3 dígitos, em códigos de barras EAN/UPC) e servem a outra finalidade. Não ha sobreposicao com os códigos UF do IBGE.

Ferramentas Relacionadas