Formate um número de telefone internacional por país
Informe um número e o país dele e receba de volta no formato internacional limpo: (202) 555-0147 nos Estados Unidos vira +1 202 555 0147, além da forma compacta +12025550147 para guardar. Dígito a mais ou a menos é apontado, nunca completado. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Número de telefone
- (202) 555-0147
- Código do país
- US
- Código de discagem
- +1
- Número nacional
- 2025550147
- E164
- +12025550147
- Formatado
- +1 202 555 0147
Números de telefone são fáceis de armazenar como texto livre, mas difíceis de apresentar de maneira uniforme. Este formatador recebe um número e um código de país de duas letras, remove a pontuação comum, confere o código de chamada internacional quando informado e valida a quantidade exata de dígitos nacionais. Em seguida, devolve uma forma internacional legível e uma forma E.164 compacta. Comprimentos incorretos e códigos incompatíveis geram um erro claro, em vez de um resultado aparentemente válido, porém pouco confiável.
Informe o número e o país ao qual ele pertence
Digite o número de telefone no formato que você possui e selecione o código de país de duas letras. A entrada nacional pode conter separadores comuns, como espaços, parênteses, pontos ou hífens. Você também pode enviar um número internacional iniciado por sinal de mais ou usar o prefixo internacional 00.
Quando há um prefixo internacional, o formatador verifica se o código de chamada corresponde ao país selecionado. Essa conferência é importante porque a mesma sequência de dígitos nacionais pode parecer estruturalmente válida em mais de um lugar. Portanto, o país é uma instrução explícita, e não uma suposição feita com base nos dígitos.
Nos países que usam zero de tronco em chamadas nacionais, a entrada pode manter esse zero; ele é removido quando a notação internacional exige. O resultado inclui o código ISO normalizado, o código de chamada, o número nacional significativo, o valor E.164 compacto e uma versão espaçada para exibição. Assim, a resposta serve tanto para interfaces quanto para armazenamento normalizado e comparações posteriores.
Entenda o que a validação garante
Esta ferramenta faz uma validação estrutural para os países disponíveis no seletor. Ela confere os caracteres permitidos, a relação entre um código de chamada explícito e o país escolhido, além da quantidade esperada de dígitos nacionais. Uma divergência gera um erro que informa o país, a quantidade esperada e a recebida.
Esse comportamento é rigoroso de propósito: completar, cortar ou inventar dígitos silenciosamente poderia criar um número que não pertence a ninguém. A validade estrutural não prova que uma linha esteja atribuída, ativa ou acessível, que seja móvel nem que pertença a determinada pessoa. A ferramenta também não consulta uma operadora nem envia mensagem de verificação.
O formatador trabalha somente com o texto fornecido e uma tabela fixa de regras nacionais. Como não há consulta de rede, a mesma entrada sempre produz a mesma resposta, e o número não é compartilhado com serviços de diretório. Considere a saída uma representação confiável de uma estrutura compatível, não uma prova de que o assinante existe ou consentiu em receber contato.
Use corretamente as duas formas normalizadas
O campo formatado foi feito para exibição: começa com o código de chamada precedido pelo sinal de mais e separa os dígitos nacionais em grupos comuns para cada país. Armazene o código de país junto com o número normalizado quando seu aplicativo precisar preservar o contexto declarado pelo usuário. Se você recebe telefones em um formulário, valide-os antes de salvar, para que um erro na quantidade de dígitos possa ser corrigido enquanto a fonte ainda está disponível.
Em importações, mantenha a célula original em uma coluna de auditoria e grave o resultado normalizado em outro campo; isso impede que a limpeza apague evidências sobre a entrada. Trate sempre telefones como texto, nunca como números, para preservar zeros iniciais. Por fim, lembre-se de que formatação não significa permissão: aplique suas regras habituais de consentimento, privacidade e mensagens antes de ligar ou escrever para qualquer número retornado.
Casos de uso
Normalizar números informados por clientes
Rejeite imediatamente quantidades incorretas de dígitos e salve uma representação internacional uniforme.
Limpar uma importação de contatos
Converta diferentes pontuações e notações nacionais em campos estáveis de exibição e E.164.
Perguntas frequentes
Um resultado válido significa que o número está ativo?
Não. Ele confirma a estrutura e a quantidade de dígitos do país aceito, não atribuição, alcance, titularidade ou consentimento.
Posso incluir espaços ou pontuação?
Sim. Espaços, parênteses, pontos e hífens são ignorados. O sinal de mais só é permitido no início.
Posso enviar um número internacional?
Sim. Use um sinal de mais no início ou o prefixo 00. O código de chamada deve corresponder ao país selecionado.
Por que o zero nacional inicial foi removido?
Alguns países usam um zero de tronco apenas em chamadas nacionais. A notação internacional o omite, e o valor normalizado segue essa convenção.
Por que meu país não aparece?
A capacidade oferece somente países com uma regra explícita e testada. Para planos não aceitos, retorna um erro em vez de fazer suposições.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/data/phone-number-format \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"phone_number":"(202) 555-0147","country_code":"US"}'const res = await fetch("https://api.kit.forhosting.com/data/phone-number-format", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"phone_number": "(202) 555-0147",
"country_code": "US"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/phone-number-format",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"phone_number": "(202) 555-0147",
"country_code": "US"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/phone-number-format", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"phone_number":"(202) 555-0147","country_code":"US"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"phone_number":"(202) 555-0147","country_code":"US"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/phone-number-format", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"phone_number": "(202) 555-0147",
"country_code": "US"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.phone_number_format",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_mb | 25 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Use corretamente as duas formas normalizadas
O campo E.164 remove esses espaços e é mais adequado para bancos de dados, comparações de igualdade, cargas de API e links que exigem um valor internacional compacto.
Casos de integração
Preparar números para outra API
Gere um valor internacional compacto e mantenha uma versão agrupada e legível para conferência.
Perguntas técnicas
Quanto custa uma solicitação à API?
Cada solicitação custa US$ 0,002. A versão para navegador pode ser executada localmente nesta página.