Unicode e internacionalização

detector de caracteres invisíveisentenda o que a tela não mostra

Confira a posição e o efeito dos caracteres antes de alterá-los.

detector de caracteres invisíveis

Texto de entrada

Posições detectadas

O texto fica neste navegador e não é enviado.

Confirmar cada categoria de limpeza

Todas começam desmarcadas. Selecionar uma categoria confirma o efeito descrito; detecte novamente e veja a prévia antes de aplicar.

Subconjunto fixo do Unicode 17.0.0: 521 pontos de código e substitutos isolados. Não é uma detecção completa de visibilidade nem um parecer de segurança. Os nomes oficiais mantêm a notação Unicode.

Deslocamento e índice começam em 0; linha e coluna em 1. Colunas contam pontos de código, não células visuais. CRLF é uma quebra; CR, LF, NEL, LS e PS também. Os dois caracteres CRLF pertencem à linha anterior.

Até 100.000 unidades UTF-16. CR/CRLF não alterados são preservados como recebidos do navegador; novas quebras digitadas usam LF. O editor pode exibir finais de linha normalizados.

As marcas são recursos de exibição, não caracteres inseridos. Controles aparecem em ordem de armazenamento, sem serem executados. O contexto tem até 24 unidades UTF-16 de cada lado.

Digite um texto ou carregue o exemplo e detecte os caracteres.

O detector de caracteres invisíveis ajuda quando dois nomes parecem iguais, mas uma busca não encontra o registro esperado. Espaços de largura zero podem interromper uma palavra sem abrir um intervalo visível. Já um espaço não separável parece comum, mas tem outro código.

Comece com um trecho curto que reproduza o problema. O Unicode oculto pode vir de páginas, editores ou documentos. Caracteres de controle também têm funções legítimas; a presença deles não revela, sozinha, a origem do conteúdo nem uma intenção maliciosa.

Por que usar este detector de caracteres invisíveis

Localizar uma diferença aparentemente inexistente

O detector de caracteres invisíveis mostra cada ocorrência no contexto próximo. Um espaço entre número e unidade pode impedir a quebra de linha e não corresponder ao espaço comum de uma comparação. O código esclarece essa diferença sem exigir que você adivinhe pela aparência.

Duas linhas semelhantes com marcas coloridas revelando posições ocultas.

Preservar conexões necessárias

ZWJ pode conectar vários símbolos em um emoji, e ZWNJ interfere na união de letras em algumas escritas. Nenhuma categoria começa selecionada. Assim, você pode tratar separadores indesejados e manter as conexões que fazem parte do texto correto.

Uma categoria de marcas é removida enquanto grupos de símbolos conectados são preservados.

Confira o resultado antes de aplicá-lo

01

Detectar novamente após editar

A detecção é manual, pelo botão ou por Ctrl/Cmd+Enter. Alterar o texto ou as categorias deixa o resultado anterior desatualizado e bloqueia a exportação. Detecte novamente antes de preparar outra prévia da limpeza.

02

Diferenciar substituição de remoção

Espaços especiais viram espaços comuns; as outras categorias selecionadas são removidas. Compare antes, depois e as quantidades. Remover controles também pode juntar linhas ou colunas que antes eram separadas por tabulações.

03

Manter uma forma de voltar

Aplicar substitui a entrada e atualiza os resultados. Desfazer restaura o texto e o resultado anteriores. Exemplo e Limpar também pedem a revisão de uma prévia quando vão substituir conteúdo que já está no campo.

Informações para examinar cada ocorrência

Código, nome e contexto lógico

Cada item informa código U+, nome e categoria. Os controles são representados por marcas visíveis no contexto de diagnóstico, seguindo a ordem de armazenamento. Dessa forma, eles não reorganizam o trecho que está sendo examinado.

Três coordenadas com unidades explícitas

O deslocamento UTF-16 e o índice de ponto de código começam em zero. Linha e coluna começam em um, e a coluna conta pontos de código. Um caractere suplementar ocupa duas unidades UTF-16, portanto os índices podem ser diferentes.

Relatório completo além da lista

A lista mostra mais 50 ocorrências por vez. O relatório JSON inclui todos os achados e posições numéricas, sem o texto de origem completo. A exportação de texto corresponde à entrada analisada; só fica limpa depois da aplicação.

Escopo e efeitos que precisam de revisão

Tabela fixa baseada no Unicode 17
São inspecionados controles, caracteres de formato, espaços não ASCII, seletores de variação e preenchimentos específicos. Nem todo formato é invisível ou prejudicial. Espaços ASCII comuns, letras visualmente parecidas e acentos combinantes gerais não fazem parte desta inspeção. Preenchimentos incluídos: U+034F / U+115F / U+1160 / U+17B4 / U+17B5 / U+2800 / U+3164 / U+FFA0.
Linhas lógicas, não quebras da tela
CRLF conta como uma quebra; CR, LF, NEL, LS e PS também separam linhas. Colunas não medem bytes nem células visuais. O conteúdo analisado é o texto entregue pelo navegador, sem reconstruir os bytes do arquivo original.
Escolha explícita de cada categoria
Não há limpeza previamente marcada. Substituir espaços especiais perde largura e comportamento de não separação. Apagar controles pode unir linhas; apagar conectores, seletores ou marcas bidi pode modificar uma escrita legítima e alterar a composição de um emoji.
Limite e UTF-16 malformado
O limite é de 100.000 unidades UTF-16. Entradas maiores são rejeitadas sem corte silencioso. Substitutos isolados são informados, mas nunca reparados. A cópia e o download como texto ficam desativados nesse caso para evitar perdas; o JSON continua disponível.

Perguntas sobre o detector de caracteres invisíveis

Como remover espaços zero-width?

Selecione os separadores de largura zero, faça uma nova detecção e confira a prévia. Aplicar confirma a remoção. ZWJ e ZWNJ ficam em outra categoria para que possam ser mantidos quando conectam letras ou partes de um emoji.

Caracteres ocultos podem aparecer em texto de IA?

Sim, assim como em conteúdo de páginas, PDF, mensagens e editores. Encontrar esses caracteres não identifica um autor como IA e não comprova uma marca d’água. A análise desta página descreve os caracteres presentes, sem julgar a origem do texto.

Hangul Filler é igual a um espaço normal?

Não. Hangul Filler é U+3164, diferente do espaço comum U+0020. Ele aparece na categoria de outros formatos e preenchimentos. Selecionar essa categoria o remove; a seleção de espaços especiais faz substituições e não elimina todo caractere com aparência vazia.

O detector muda meu texto automaticamente?

Não. Detectar e visualizar a prévia não alteram a entrada. Você precisa aplicar a proposta para substituí-la e pode desfazer uma vez para recuperar o estado anterior. Mudar as opções nunca executa uma exclusão silenciosa.

O texto colado é enviado para servidor?

Não. Detecção e limpeza acontecem na memória do navegador. Ao copiar ou baixar, você cria uma saída na área de transferência ou no dispositivo. Em equipamentos compartilhados, essas cópias precisam ser administradas separadamente.

Encontrou uma posição que merece revisão?

Voltar ao trecho com problema

Use o detector de caracteres invisíveis em um exemplo pequeno e escolha somente as categorias cujo efeito você pretende produzir no texto final.