Remover acentos

Normalize texto para ASCII aproximado removendo marcas combinantes (ã → a, ç → c).

Descrição

O Unicode, o padrão que define como computadores representam texto em praticamente todos os idiomas do mundo, foi criado em 1991 por um consórcio que incluía Apple, Microsoft, IBM e outras empresas. Antes do Unicode, cada empresa ou região usava tabelas de caracteres incompatíveis entre si: o Brasil usava ISO 8859-1 (Latin-1) para representar ã, é, ç e outros acentos do português; o Japão usava Shift-JIS para o japonês; os países árabes tinham seus próprios padrões. Trocar um arquivo de texto entre sistemas com codificações diferentes produzia o temido mojibake — aqueles caracteres estranhos e ilegíveis que apareciam quando o ã virava algo como ã ou ã. O Unicode resolveu isso com elegância: cada caractere de qualquer idioma tem um ponto de código único, de U+0000 a U+10FFFF, e as implementações mais comuns hoje são UTF-8 (padrão na web) e UTF-16 (usado internamente no JavaScript e no Java).

A remoção de acentos — ou normalização para ASCII — resolve um conjunto específico de problemas que não sumiram com o Unicode. Sistemas legados e bancos de dados antigos às vezes têm colunas indexadas em ASCII sem suporte a collation correta, e buscas com acento encontram resultado diferente de buscas sem acento. URLs amigáveis geralmente convertem títulos com acentos para versões sem acento: `Ação pré-venda` vira `acao-pre-venda` no slug. Comparação de nomes próprios em sistemas de cadastro onde um usuário digitou `João` e outro digitou `Joao` — sem normalização, são strings diferentes. Exportações de CSV para sistemas que não suportam UTF-8 corretamente. Inputs de formulários onde o validador de campo aceita apenas `[a-z0-9]` por regex simples. Nesses contextos, remover diacríticos é a solução pragmática.

A abordagem correta é a normalização Unicode NFD (Canonical Decomposition): cada caractere composto como `ã` é decomposto em dois pontos de código separados — o `a` base (U+0061) e o til combinante (U+0303). Após a decomposição, filtrar todos os caracteres da categoria Unicode Mn (Mark, Nonspacing) remove os diacríticos, deixando apenas as letras base. Em JavaScript: `str.normalize('NFD').replace(/\p{Mn}/gu, '')`. Essa técnica funciona perfeitamente para o português e o espanhol. Uma exceção notável: o `ç` é um caractere composto e será simplificado para `c` — correto para URLs, mas incorreto se você precisar de texto em francês ou turco onde o ç tem valor semântico próprio. Esta ferramenta aplica a normalização NFD e remove marcas combinantes; revise manualmente os casos onde letras específicas devem ser preservadas.

Detalhamento técnico

Pontos frequentes

  • Para que serve esta ferramenta?: Ela roda 100% no seu navegador: útil para validar, formatar ou converter dados no dia a dia de desenvolvimento.
  • Meus dados são enviados a algum servidor?: O processamento é feito localmente via JavaScript. Não armazenamos o conteúdo que você cola nas caixas de texto.
  • Posso usar em produção ou para dados reais?: Use por sua conta e risco. Para segredos (senhas, tokens), prefira ambientes controlados e políticas da sua empresa. E lembre sempre de revisar os conteúdos gerados. Nunca confie cegamente nas coisas que vê na internet.

Trecho para testar

  • Há também o bloco "Exemplo de Código" com o trecho completo; use esse texto rápido para colar nos campos e validar: Entrada — Ação pré-renovação → Acao pre-renovacao

Guia da ferramenta

  • O que são acentos diacríticos Marcas como til, acento agudo ou cedilha que mudam pronúncia ou significado em muitos idiomas.

  • O que a ferramenta faz Usa normalização Unicode NFD e remove marcas combinantes, aproximando o resultado a letras básicas (por exemplo á → a).

  • Por que usar Normalizar dados para busca simples, slugs legados ou integrações que não aceitam Unicode completo. Revise manualmente quando a grafia correta for obrigatória (por exemplo nomes próprios).

Exemplo de Código

Exemplo de código
Ação pré-renovação → Acao pre-renovacao

Entrada

Ação pré-renovação → Acao pre-renovacao

Perguntas frequentes

Para que serve esta ferramenta?

Ela roda 100% no seu navegador: útil para validar, formatar ou converter dados no dia a dia de desenvolvimento.

Meus dados são enviados a algum servidor?

O processamento é feito localmente via JavaScript. Não armazenamos o conteúdo que você cola nas caixas de texto.

Posso usar em produção ou para dados reais?

Use por sua conta e risco. Para segredos (senhas, tokens), prefira ambientes controlados e políticas da sua empresa. E lembre sempre de revisar os conteúdos gerados. Nunca confie cegamente nas coisas que vê na internet.