Removedor de caracteres invisíveis
Encontre e remova espaços de largura zero, BOM, hifens condicionais, caracteres de controle bidi e espaços não separáveis. Mostra uma tabela do que foi removido. Privado.
Executa totalmente no seu navegador. Seus dados nunca são enviados.
O que é Removedor de caracteres invisíveis?
Detecta e remove caracteres que você não vê, mas que quebram código, buscas, URLs e importações de dados: espaços e conectores de largura zero, a marca de ordem de bytes (BOM), hifens condicionais, caracteres de controle bidirecional (incluindo o RLO usado em truques de "Trojan Source") e outros caracteres de formatação Unicode. Espaços especiais como o NBSP podem virar espaços normais, e uma tabela lista cada caractere removido com o seu ponto de código e a quantidade.
Como usar Removedor de caracteres invisíveis
- Cole o texto suspeito na caixa Entrada.
- Confira as opções: trocar espaços especiais, manter os conectores dentro de emojis, remover caracteres de controle.
- Copie o texto limpo em Saída.
- Revise a tabela para ver quais caracteres ocultos foram encontrados.
Exemplo
ab c
ab c
Removidos: U+00A0 NO-BREAK SPACE (trocado por espaço), U+200B ZERO WIDTH SPACE, U+FEFF ZERO WIDTH NO-BREAK SPACE (BOM)
Quando usar Removedor de caracteres invisíveis
Use quando um código falhar com "caractere inesperado", quando duas strings aparentemente iguais não coincidirem, quando os cabeçalhos de um CSV tiverem BOM ou quando um texto copiado contiver caracteres ocultos de rastreamento. Remover ZWJ/ZWNJ pode mudar a exibição de escritas como persa, hindi ou malaiala, que os usam de propósito, então revise a tabela antes de usar o resultado nesses idiomas.
Como funciona Removedor de caracteres invisíveis
Cada ponto de código é comparado com uma lista de caracteres invisíveis conhecidos (U+200B–U+200F, U+202A–U+202E, U+2060–U+2064, U+2066–U+206F, U+FEFF, U+00AD, U+180E, preenchimentos Hangul e outros) e com a categoria Unicode Cf (caracteres de formatação). As ocorrências são removidas e contadas. Espaços especiais (U+00A0, U+2000–U+200A, U+202F, U+205F, U+3000) são trocados por U+0020 quando essa opção está ativa. Com "Manter os conectores dentro de emojis", um U+200D entre dois pictogramas e os caracteres de tag de emoji são mantidos, para que sequências como 👩💻 não se desfaçam. Caracteres de controle além de tabulação, avanço de linha e retorno de carro também podem ser removidos.
Casos de Uso Comuns
- Corrigir código ou JSON que falha por causa de um espaço de largura zero colado
- Remover o BOM do primeiro cabeçalho de um CSV
- Detectar caracteres de inversão bidi em revisões de código-fonte
- Limpar textos copiados de sites, PDFs ou apps de chat
- Normalizar espaços não separáveis antes de comparar strings
Nota de Segurança
Caracteres bidi e de largura zero ocultos são usados em ataques de homógrafos e de "Trojan Source" para fazer código ou links parecerem diferentes do que são. A tabela de remoção ajuda a vê-los; o processamento acontece só no seu navegador.
Perguntas Frequentes
O que é um espaço de largura zero?
O U+200B é um caractere sem largura que marca uma possível quebra de linha. Ele é invisível, mas faz as strings ficarem diferentes e pode quebrar código e URLs.
Isso vai quebrar meus emoji?
Não com Manter os conectores dentro de emojis ativado (o padrão). Emoji como 👩💻 e sequências de bandeiras dependem de conectores e caracteres de tag ocultos, que são mantidos.
O que são caracteres de controle bidi?
Caracteres como U+202E RIGHT-TO-LEFT OVERRIDE mudam a direção de exibição do texto. Eles são legítimos em alguns textos da direita para a esquerda, mas também podem ser usados para disfarçar código ou nomes de arquivo.
O espaço não separável é invisível?
Ele parece um espaço normal, mas se comporta de forma diferente em buscas e comparações. A ferramenta o troca por um espaço comum quando Trocar espaços não separáveis e especiais por espaços normais está ativado.