Remover acentos do texto
Tire os acentos e fique com letras simples: café naïve São Paulo vira cafe naive Sao Paulo, com 3 acentos removidos. Letras especiais como æ e ł também são convertidas, enquanto números e emojis continuam iguais. 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
- Texto
- café naïve São Paulo
- Resultado
- cafe naive Sao Paulo
- Comprimento
- 20
- Comprimento original
- 20
- Quantidade de alterações
- 3
Remover acentos e outras marcas diacríticas é um passo cotidiano quando você precisa de texto ASCII puro para identificadores, chaves de busca, nomes de arquivo, exportações CSV ou sistemas que ainda falham com casos limite de UTF-8. Esta ferramenta recebe o texto que você digita, decompõe caracteres Unicode, remove marcas combinantes, aplica uma tabela fixa de transliteração latina para letras que não se reduzem só com normalização e devolve a string sem acentos junto com metadados de comprimento e alterações. Dígitos, a maior parte da pontuação, emoji e scripts não mapeados passam intactos; só diacríticos e formas latinas mapeadas são simplificados.
Como a remoção de acentos funciona por dentro
Remover acentos não é uma simples consulta de caracteres; é um pipeline determinístico curto. Primeiro o motor aplica a Forma de Normalização Unicode D (NFD), que separa letras base de suas marcas diacríticas combinantes — assim é vira e mais um acento agudo combinante, ñ vira n mais um til combinante e ü vira u mais um trema combinante. Segundo, toda marca combinante nos intervalos comuns é apagada, deixando as letras base para a vasta maioria do texto latino da Europa ocidental e central e do vietnamita com tons.
Terceiro, uma tabela fixa de transliteração reescreve letras que sobrevivem ao NFD sem virar ASCII: formas nórdicas e islandesas como ø, æ, ð e þ; o eszett alemão; ligaduras francesas e latinas œ; letras polonesas e eslavas com traço como ł e đ; e algumas bases maltesas e vietnamitas com chifre. A tabela preserva maiúsculas e minúsculas quando ambos os casos existem (Æ vira AE, æ vira ae).
Dígitos, espaços, pontuação, emoji e scripts fora do mapa passam intactos, de modo que texto cirílico ou CJK não é romanizado de forma inventiva — essa é outra intenção de produto. Strings vazias falham na validação antes de qualquer transformação. Como o caminho é parse puro sobre strings, a latência fica submilissegundo em formulários típicos e o modelo de custo publicado é analítico, não baseado em tokens de modelo.
Onde ferramentas de remover acentos aparecem no trabalho real
Equipes de produto e crescimento dobram nomes de exibição e campos de cidade em chaves ASCII antes de checagens de unicidade para que José e Jose não criem quase-duplicatas confusas em sistemas que comparam byte a byte. Sistemas de busca e tags removem diacríticos de consultas e rótulos de faceta para que filtros coincidam digite-se resume ou résumé.
Engenheiros de dados que limpam exportações de CRM, planilhas e bancos legados costumam forçar colunas de texto livre a formas sem acento antes de joins em chaves suaves ou carga em data warehouses que ainda preferem colações ASCII em certos índices. Equipes de conteúdo e localização preparam fallbacks ASCII para nomes de arquivo, segmentos de caminho URL (quando não usam ferramenta de slug dedicada), assuntos de e-mail em relays exigentes e arquivos CSV abertos em ferramentas que corrompem UTF-8.
Se mais tarde você precisar de slug URL completo com hífens e minúsculas, só conversão de caixa, detecção de idioma ou romanização fonética de scripts não latinos, trate isso como intenções de busca e landings separadas, sem sobrecarregar esta página de remover acentos do texto.
Casos de uso
Normalizar nomes e cidades para correspondência
Remova diacríticos de nomes de pessoas e lugares antes das checagens de unicidade para alinhar José/Jose e São Paulo/Sao Paulo em chaves suaves.
Consistência em busca e filtros
Unifique strings de consulta e rótulos de faceta para que filtros coincidam com texto acentuado ou ASCII puro.
Perguntas frequentes
O que faz remover acentos do texto?
Remove marcas diacríticas e mapeia especiais latinos comuns para que letras acentuadas virem ASCII puro (é→e, ñ→n, ü→u, æ→ae, ł→l, …) e devolve a string sem acentos mais metadados de alteração.
O que acontece se eu enviar texto vazio?
Strings vazias são rejeitadas para que clientes notem campos ausentes em vez de receberem resultado vazio em silêncio.
Ela altera a caixa ou cria slugs de URL?
Não. A caixa é preservada (Café vira Cafe, não cafe). Não insere hífens nem faz percent-encode para URLs; use ferramenta de slug ou minúsculas dedicada para essas intenções.
Quanto custa?
A ferramenta do navegador é gratuita e roda localmente.
O que acontece com letras como æ ou ł, que não têm acento?
Uma tabela fixa as reescreve em letras latinas simples, mantendo maiúsculas e minúsculas: Æ vira AE, æ vira ae e Łódź vira Lodz. Assim ficam cobertas formas nórdicas, alemãs e polonesas.
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/str/remove-accents \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"café naïve São Paulo"}'const res = await fetch("https://api.kit.forhosting.com/str/remove-accents", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "café naïve São Paulo"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/remove-accents",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "café naïve São Paulo"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/remove-accents", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"café naïve São Paulo"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"café naïve São Paulo"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/remove-accents", 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
{
"text": "café naïve São Paulo"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.remove_accents",
"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.
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
Entrada vazia é rejeitada com erro de validação claro em vez de devolver um payload vazio em silêncio, o que protege clientes que esqueceram de vincular um campo. Sem idas à rede dentro do motor, sem sementes aleatórias e sem dependência de relógio: o mesmo texto sempre produz o mesmo JSON.
Como a remoção de acentos funciona por dentro
O algoritmo percorre a string uma vez após a normalização, monta o resultado e calcula changed, changed_count e accents_removed para que pipelines detectem no-ops sem reescaneamento. Payloads extremamente longos acima do limite documentado também falham com invalid_input para que uma única requisição não monopolize a memória do Worker.
O que você envia e o que recebe de volta
Envie um único campo obrigatório chamado text contendo a string não vazia que deseja desacentuar. Números e booleanos são convertidos para suas formas decimal ou true/false; objetos, arrays, NaN e Infinity são rejeitados. Checagens clássicas: café vira cafe, naïve vira naive, São Paulo vira Sao Paulo, Müller vira Muller, ñoño vira nono, crème brûlée vira creme brulee e Łódź vira Lodz após o mapeamento de traço. Aliases como input, value, data, s, message, string, content e body são aceitos por conveniência ao conectar clientes antigos. Em sucesso a resposta ecoa o text original, o result sem acentos, a length do resultado, original_length, um booleano changed, um changed_count de posições diferentes (incluindo expansões de várias letras como æ para ae), accents_removed como contagem de marcas combinantes removidas mais letras fonte mapeadas, e operation com valor remove_accents. Quando a entrada já não tinha diacríticos nem especiais latinos mapeados, result é igual a text, changed é false e accents_removed é zero — útil como detector de no-op em guardas ETL. Use o formulário gratuito do navegador para colar e copiar com rapidez e chame o mesmo contrato em scripts ao normalizar colunas CSV, chaves de busca ou payloads de API em lote. O preço de chamadas API bem-sucedidas é a base publicada de US$ 0,002 por item; falhas de validação, inclusive texto vazio, não consomem saldo pré-pago.
Onde ferramentas de remover acentos aparecem no trabalho real
Como esta capacidade é um motor de parse puro, o preço de API é a base publicada de US$ 0,002 por item bem-sucedido e validação falha não consome saldo.
Casos de integração
Limpar colunas CSV e de API
Desacentue tags, títulos e campos de join suave em pipelines em lote com a mesma forma de resultado da ferramenta do navegador.
Perguntas técnicas
Texto já em ASCII puro muda?
Não. Se não houver diacríticos nem especiais mapeados, result é igual ao texto original, changed é false e accents_removed é zero.