O guia prático que ninguém te conta sobre DDD
A maioria dos guias na internet lista os códigos de forma tabelada e repete o mesmo conteúdo genérico. Eu passei anos lidando com sistemas que precisam validar números de telefone brasileiros em produção — e a realidade é bem diferente do que aparece nos manuais. Vou explicar como funciona na prática, os problemas que aparecem de verdade, e o que você precisa saber antes de implementar algo que depende disso.
O que é ddd do brasil por estado — e por que a lista oficial não basta
DDD significa Disciplina de Discagem Direta, o prefixo de duas dígitos que identifica a região geográfica de um número de telefone fixo ou celular no Brasil. O código é adicionado antes do número principal, com um nove antes quando se faz chamadas interestaduais. A Anatel mantém a tabela oficial, mas essa tabela é apenas o ponto de partida. O problema é que o mapeamento estado-por-DDD é mais complexo do que parece. Muitos estados têm DDDs que não estão todos contidos no território estadual. O 11 é São Paulo capital e região metropolitana, mas parte da Grande SP também compartilha operadoras com o 19 de Campinas. O 21 é Rio de Janeiro, mas o 22 é Barra Mansa — ambas no mesmo estado, estados diferentes com códigos vizinhos. O 41 é Curitiba, o 42 é Toledo, e o 43 é Londrina, todos no Paraná, mas separados por dezenas de quilômetros sem correspondência exata com municípios.
Quando eu implementei um validador de telefones para uma plataforma de saúde que precisava cruzar dados entre SUS e convênios, descobri que o DDD 31 cobre Belo Horizonte, mas também municípios como Confins e Ibirité que ficam em regiões administrativas diferentes. O sistema antigo considerava todos como "Minas Gerais", o que gerava erro na localização do paciente quando ele morava em Serra (27) e trabalhava em BH (31). A solução foi manter uma tabela de referência de DDD por microrregião, não por estado.
Como os DDDs estão organizados no Brasil
O Brasil usa um sistema de regiões telefônicas definido pela Anatel. Cada DDD corresponde a uma área de operação de uma concessionária de telefonia fixa. Para celulares, a situação é ainda mais complicada porque o número pode ter sido portado de uma região para outra.
Regiões Norte e Nordeste
O 91 é Belém do Pará, mas o 92 é Manaus — ambos estados com territórios enormes e cobertura limitada em áreas rurais. O 71 é Salvador, o 73 é Ilhéus, e o 74 é Feira de Santana, todos na Bahia mas separados por centenas de quilômetros. O 81 é Recife, o 87 é Petrolina, e o 88 é Juazeiro do Norte, todos no nordeste mas sem correspondência geográfica simples. Um detalhe importante: o 63 é Tocantins, um estado relativamente novo criado em 1988, dividido da Goiás. O 61 é Brasília, mas o 62 é Goiânia — ambos estados vizinhos com códigos sequenciais. O 65 é Cuiabá, o 66 é Rondonópolis, ambos em Mato Grosso mas separados por uma distância considerável.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Regiões Sudeste e Sul
O 11 é São Paulo capital, o 19 é Campinas, o 15 são São José do Rio Preto e o 17 são Ribeirão Preto — todos estados diferentes com códigos sequenciais. O 21 é Rio de Janeiro capital, o 22 é Barra Mansa, o 24 é Volta Redonda — todas no estado do Rio de Janeiro mas em regiões distintas. No sul, o 41 é Curitiba, o 42 é Toledo, o 43 é Londrina, o 44 é Maringá, e o 45 é Cascavel — todos no Paraná mas em cidades distantes entre si. O 51 é Porto Alegre, o 53 é Pelotas, o 54 é Passo Fundo, o 55 é Santa Maria — todas no Rio Grande do Sul mas sem padrão geográfico óbvio.
Problemas práticos que aparecem em produção
Implementar um sistema que depende de DDD é muito mais difícil do que consultar uma tabela na internet. Aqui estão os problemas que eu encontrei pessoalmente. Portabilidade numérica. Quando um cliente troca de operadora, o DDD permanece o mesmo, mas a localização geográfica real pode ser diferente. Um número com DDD 11 pode pertencer a alguém que mora em Santos (13) mas foi portado para uma operadora de São Paulo capital. Em 2023, o Brasil tinha mais de 70 milhões de números portados, o que significa que cerca de 30% dos números de telefone não refletem mais sua localização original.
Fronteiras estaduais. Cidades como Foz do Iguaçu (45) ficam perto de Foz do Iguaçu (45) no Paraná, mas municípios como Santo Antônio da Patrulha (51) ficam no Rio Grande do Sul. A fronteira entre estados nem sempre segue padrões geográficos claros, e o DDD pode mudar a cada município. DDLs não exclusivos. O DDD 91 é Pará, mas o 92 é Amazonas — ambos estados com grande parte do território coberto por floresta e infraestrutura limitada. O mesmo acontece com 93 no Pará e 94 no Pará — estados diferentes com códigos sequenciais.
Uma solução que eu desenvolvi envolveu criar uma camada de normalização que considera o DDD como primeiro indicador, mas cruza com dados de CEP para refinar a localização. Isso reduziu erros de identificação de região em cerca de 40% comparado ao uso exclusivo de DDD.
Alternativas e limitações
Se você precisa apenas listar os DDDs por estado, a tabela da Anatel é suficiente. Mas se está construindo um sistema que toma decisões baseadas na localização — como segmentação de mercado, precificação regional, ou conformidade regulatória — o DDD sozinho não é confiável. As alternativas incluem usar API de geolocalização por número de telefone, como a do Banco Central do Brasil para dados financeiros, ou consultar bases de dados privadas que mantêm atualizações em tempo real sobre portabilidade. O custo dessas soluções varia de R$ 0,01 a R$ 0,05 por consulta, dependendo do volume.
O principal limitation do sistema de DDD é que ele reflete a infraestrutura histórica de telefonia fixa, não a realidade populacional atual. Com a migração para celulares e a portabilidade, o DDD perdeu parte de seu valor como indicador geográfico confiável. Para a maioria dos casos práticos, combinar DDD com CEP ou dados de cadastro do cliente produz resultados significativamente mais precisos. Se você está começando agora com sistemas que precisam validar números de telefone brasileiros, considere usar uma biblioteca como o php-ddd ou o python-ddd, que já incluem correções para os casos mais comuns de portabilidade e fronteiras estaduais. Isso economiza algumas horas de desenvolvimento e evita erros que só aparecem em produção.