AZ Tools

Normalizador Unicode (NFC, NFD, NFKC, NFKD)

Texto

O mesmo texto visível pode ser armazenado como sequências de pontos de código diferentes — é pode ser um caractere pré-composto (U+00E9) ou 'e' mais um acento combinante (U+0065 U+0301). A normalização Unicode reescreve o texto em uma forma canônica para que strings visualmente iguais sejam comparadas como iguais, ordenem de forma previsível e sobrevivam à passagem por sistemas de arquivos e bancos de dados. NFC compõe na forma pré-composta mais curta (o melhor padrão para armazenamento e a web); NFD decompõe totalmente (comum em nomes de arquivo do macOS); NFKC e NFKD aplicam ainda mapeamentos de compatibilidade, dobrando ligaduras (fi → fi), caracteres de largura total (2024 → 2024) e formas como numerais romanos (Ⅻ → XII). Opcionalmente remova marcas combinantes para eliminar acentos por completo. A tabela de comparação mostra o comprimento em pontos de código e bytes UTF-8 de cada forma e sinaliza com qual sua entrada já coincide — útil para detectar dados NFD onde você esperava NFC. Tudo roda localmente; seu texto nunca sai do navegador.

Saída normalizada · 17 caracteres · 32 bytes

Café file 2024 Ⅻ ①

A entrada já está em NFC.

Comparação de todas as formas

Formacaracteresbytes= entrada?
NFC1732sim
NFD1833não
NFKC2021não
NFKD2122não

NFC é o padrão mais seguro para armazenamento e a web. NFKC/NFKD e remover diacríticos têm perda — não use em texto que deva ficar exato.

Como usar

  1. Cole ou digite texto na caixa de entrada.
  2. Escolha uma forma alvo (NFC, NFD, NFKC, NFKD) e copie a saída normalizada.
  3. Ative 'Remover diacríticos' para também tirar acentos, e leia a tabela para ver em qual forma sua entrada já está.

Perguntas frequentes

Qual forma devo usar?
NFC é o padrão mais seguro para armazenamento, transporte e a web — é a forma canônica mais curta e a que a maioria dos sistemas espera. Use NFD quando um sistema exigir texto decomposto (ex.: alguns contextos do macOS). Use NFKC/NFKD apenas quando quiser deliberadamente o dobramento de compatibilidade (ligaduras, largura total, super/subscritos colapsados), pois são transformações com perda.
O que 'remover diacríticos' faz?
Decompõe o texto (NFD), remove todas as marcas combinantes e então renormaliza para a forma escolhida — assim 'café' vira 'cafe' e 'Crème Brûlée' vira 'Creme Brulee'. É útil para criar slugs ASCII ou chaves de busca sem acento, mas muda o significado em muitos idiomas, então não use em texto que precise manter correto.
Por que as contagens de bytes diferem entre formas?
Formas decompostas (NFD/NFKD) costumam usar mais pontos de código — um 'é' pré-composto é um caractere de 2 bytes em UTF-8, enquanto 'e' + acento combinante são dois caracteres somando 3 bytes. Formas de compatibilidade podem ir para qualquer lado. A tabela permite comparar comprimentos exatos.
A normalização é reversível?
NFC ↔ NFD preserva informação e é reversível para a equivalência canônica. NFKC/NFKD não são reversíveis — uma vez dobrada uma ligadura ou um dígito de largura total, a distinção original se perde. Remover diacríticos também é de mão única.

Ferramentas relacionadas