O guia prático que todo mundo precisa mas ninguém faz direito
Você já tentou padronizar uma planilha com siglas de estados e se deparou com SP, São Paulo, Sao Paulo, S.P., s.p. e ainda uns dois casos em branco. Isso é mais comum do que parece, e a maioria das pessoas resolve na marra usando fórmulas ou procura uma API paga. A solução real é mais simples do que o pessoal costuma fazer. A coisa toda começa entendendo que nome de estados no contexto brasileiro envolve duas camadas: os nomes completos e as siglas oficiais das 26 unidades federativas mais o Distrito Federal. Parece bobo, mas é onde a maioria erra porque acha que só precisa da sigla. Quando você está construindo um sistema de cadastro ou integrando com um API de frete, por exemplo, saber o nome completo é tão importante quanto o código.
Mapeamento completo de nome de estados para uso prático
Vou listar as siglas e os nomes completos de uma vez. Não tem muito segredo aqui, mas tem detalhes que as fontes oficiais nem sempre destacam. AC - Acre | AL - Alagoas | AP - Amapá | AM - Amazonas | BA - Bahia | CE - Ceará | DF - Distrito Federal | ES - Espírito Santo | GO - Goiás | MA - Maranhão | MT - Mato Grosso | MS - Mato Grosso do Sul | MG - Minas Gerais | PA - Pará | PB - Paraíba | PR - Paraná | PE - Pernambuco | PI - Piauí | RJ - Rio de Janeiro | RN - Rio Grande do Norte | RS - Rio Grande do Sul | RO - Rondônia | RR - Roraima | SC - Santa Catarina | SP - São Paulo | SE - Sergipe | TO - Tocantins
Isso parece simples demais pra ser útil, então deixa eu te contar o problema que eu enfrentei semana passada. Estava limpando um dataset de vendas com uns 40 mil registros de clientes, e cerca de 12% dos estados estavam com formatação inconsistente. A maioria era óbvio, mas tinha uns casos que me pegaram desprevenido: "EstadodoPará" junto, "RioGrandeDoSul" com capitals misturadas, e o pior - um registro que dizia "D.F." em vez de "DF". Ninguém pensa nisso até acontecer. O workaround que funcinou foi criar uma tabela de correspondência manual com as variantes que eu ia encontrando, depois rodar um replace com regex case-insensitive antes de aplicar o mapeamento padrão. Levei uns 20 minutos pra montar a lista das variações mais comuns e desde então o processo de limpeza leva menos de 3 minutos pra qualquer volume razoável.
O que as pessoas geralmente ignoram sobre esse assunto é que o IBGE atualiza periodicamente os códigos e nomes, e essas atualizações não são tão documentadas assim. A última mudança relevante foi em 1988 com a criação de Tocantins, mas se você tá lidando com dados históricos anteriores a isso, vai encontrar estados que não existem mais no mapa atual. Não é um problema no dia a dia, mas se você tá trabalhando com séries temporais longas, essa informação te salva de horas de debugging. Outro ponto que todo mundo passa mal: a diferença entre o nome oficial e o uso coloquial. "Minas" pra Minas Gerais é aceito socialmente mas não em formulários institucionais. "SP" e "São Paulo" são intercambiáveis na maioria dos sistemas, mas em integrações com governo federal ou sistemas bancários, às vezes a exigência é exatamente a sigla ou exatamente o nome completo, e não há flexibilidade. Já vi gente perder horas tentando resolver um erro de validação que era simplesmente isso.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Se você precisa de uma referência rápida e confiável sem ter que consultar fontes oficiais toda vez, o site do IBGE tem uma tabela completa que pode ser baixada em CSV. Também tem versões mantidas pela comunidade no GitHub que são úteis pra quem tá desenvolvendo e quer algo já em formato JSON ou SQL. O importante é saber qual versão usar e quando confiar nela. O problema de depender apenas de listas prontas é que elas ficam desatualizadas sem aviso. Eu já vi tabelas na internet com "U.F." no lugar de "DF" porque alguém copiou de um documento antigo e ninguém corrigiu. Sempre verifique a fonte antes de colocar num sistema de produção. Uma planilha desatualizada é pior do que nenhuma planilha, porque você confia nela e depois descobre que os dados estão errados semanas depois.
Se o seu cenário é mais pesado - tipo processar milhares de registros diariamente com validação automática - vale a pena pensar em manter uma cópia local dos dados do IBGE e atualizar periodicamente. Não precisa ser automático, uma vez por trimestre é suficiente na maioria dos casos. Assim você evita depender de APIs externas que podem sair do ar ou mudar sem aviso. A parte mais chata que ninguém conta é sobre os estados que têm nomes compostos. Mato Grosso do Sul, Rio Grande do Norte, Rio Grande do Sul, Espírito Santo, Santa Catarina - todos esses pedem atenção especial em processos de normalização porque você pode dividir errado se não tiver cuidado. Um split por espaço que pareça lógico pode transformar "Rio Grande do Sul" em três campos errados.
Na prática, o que funciona melhor é usar a sigla como campo primário de identificação e o nome completo como campo secundário de exibição. Se o seu sistema só pede um ou outro, você tá fazendo mais trabalho do que precisa. Duas colunas resolvem 99% dos casos sem complicação.
Download da tabela referencial
Segue o link direto para a tabela oficial do IBGE com todos os nomes e códigos dos estados em formato aberto. É a fonte primária, sem intermediários que possam introduzir erros. https://www.ibge.gov.br/estados/
Tem também repositórios no GitHub com versões já formatadas pra diferentes linguagens. Procure por "nomes dos estados brasileiros json" ou "brazilian states ibge dataset" que você acha várias opções. A desvantagem é que nenhuma delas é oficial, então sempre dê uma olhada nas data de última atualização antes de confiar. O que eu recomendo de verdade é simples: tenha a sua própria tabela de referência, atualizada quando o IBGE atualizar, e use a sigla como chave em todos os lugares onde couber. O resto é detalhe que se resolve com boa higiene de dados.