Invisible Texts

Ferramenta de texto

Detector de Caracteres Ocultos

Cole texto e o detector destaca cada caractere Unicode invisível que encontra — espaços de largura zero, joiners, marcas direcionais e hífens suaves — cada um rotulado com seu ponto de código.

Inspeção de caracteres
Inspecionar caracteres invisíveis
Cole texto para revelar caracteres Unicode ocultos e limpá-los quando necessário.
Caracteres detectados0 no total

Nenhum caractere invisível conhecido foi encontrado.

Por que caracteres invisíveis são um problema real

Caracteres Unicode invisíveis existem por motivos legítimos — controle de quebra de linha, junção de scripts cursivos, texto bidirecional, hifenização opcional. Mas como renderizam como nada, também são uma ferramenta de abuso. O paper Trojan Source (CVE-2021-42574, divulgado em outubro de 2021) mostrou que caracteres de override bidirecional podiam fazer código-fonte compilar de forma diferente do que aparece na tela. A divulgação complementar (CVE-2021-42694) cobriu ataques de homoglifos, onde um а cirílico (U+0430) substitui um a latino (U+0061) em um nome de função. Mais perto do uso cotidiano, caracteres de largura zero são colados em nomes de usuário e identificadores para fazer duas strings que parecem idênticas serem comparadas como diferentes. Um detector que expõe esses caracteres por ponto de código é a forma mais rápida de encontrá-los, porque eles não podem ser vistos a olho.

Para que isso é útil

Limpar texto copiado

Texto colado de sites, PDFs e documentos do Word costuma carregar espaços de largura zero e hífens suaves que quebram busca e correspondência. Cole aqui, remova-os, copie o texto limpo de volta.

Checar nomes de usuário e identificadores

Dois nomes de usuário que aparecem como "admin" podem ser strings diferentes se um contiver U+200B. Rode qualquer identificador suspeito pelo detector antes de confiar em uma comparação.

Revisar código-fonte

Caracteres de override bidirecional (U+202A até U+202E) podem esconder lógica em código que parece correto. Cole qualquer trecho de uma fonte não confiável antes de lê-lo.

Pegar links de phishing

Ataques de homografia IDN usam caracteres confundíveis para registrar domínios parecidos. O detector não vai resolver o domínio, mas vai expor caracteres invisíveis escondidos no texto da URL.

Como deve ser uma varredura séria

Os seis caracteres listados acima são os mais comuns, mas não são o quadro completo. Uma varredura minuciosa cobre várias faixas. Os caracteres de formato de largura zero U+200B até U+200F cobrem oportunidades de quebra de linha, joiners e marcas direcionais. U+2060 (word joiner) e U+FEFF (marca de ordem de bytes, quando aparece no meio do fluxo) também são de largura zero. O bloco de override bidirecional — U+202A até U+202E, mais U+2066 até U+2069 — é o que o Trojan Source explora. U+00AD (hífen suave) é invisível até uma quebra. Os preenchedores Hangul U+115F e U+3164 e o braille em branco U+2800 renderizam como nada mas ocupam uma célula, o que os torna úteis para esconder conteúdo à vista de todos. Detecção de confundíveis é um problema relacionado mas separado: um а cirílico e um a latino são ambos visíveis, então um detector de caracteres não vai sinalizá-los. Para isso, você precisa de uma checagem contra os dados de confusables do Unicode, que mapeiam caracteres parecidos a um esqueleto normalizado.

Como usar o detector bem

  • Cole apenas o texto que você quer verificar. Tudo roda no seu navegador; nada é enviado.
  • Use a codificação por cores para distinguir tipos de caractere de relance — vermelho para ZWSP, verde para ZWJ, laranja para RLM, e assim por diante.
  • Depois de detectar, clique em Remover para eliminar todo caractere invisível, depois Copiar Texto Limpo para obter a versão saneada.
  • Confira qualquer nome de usuário, slug ou identificador que veio de input de usuário antes de armazenar ou comparar.
  • Se uma comparação de strings está falhando e as strings parecem idênticas, cole ambas aqui — um U+200B oculto é a causa mais comum.
  • Para código-fonte de terceiros, escaneie U+202A até U+202E antes de ler. Esses são os overrides bidi por trás do Trojan Source.

Como o detector funciona

O detector roda inteiramente no seu navegador como JavaScript. Nenhum texto sai do seu dispositivo, o que importa quando você está colando identificadores sensíveis ou código-fonte. Funciona no Chrome, Firefox, Safari, Edge e qualquer navegador moderno em desktop ou celular. Ele escaneia os caracteres de largura zero na faixa U+200B até U+200F, os overrides bidirecionais em U+202A até U+202E e U+2066 até U+2069, o word joiner U+2060, o hífen suave U+00AD e a marca de ordem de bytes U+FEFF quando ela aparece fora da primeira posição de um arquivo. Note que ele sinaliza caracteres invisíveis por ponto de código; ele não detecta homoglifos, que são caracteres visíveis que apenas parecem outros caracteres.

Perguntas comuns sobre detectar caracteres ocultos

O que conta como caractere oculto?

Qualquer caractere Unicode que renderiza sem glifo visível. Os comuns são espaço de largura zero (U+200B), joiner de largura zero (U+200D), non-joiner de largura zero (U+200C), as marcas da esquerda para a direita e da direita para a esquerda (U+200E, U+200F) e o hífen suave (U+00AD). O detector sinaliza cada um por ponto de código.

Por que caracteres ocultos acabam no meu texto?

Três fontes comuns. Copiar de uma página da web ou PDF importa os caracteres invisíveis que estavam na origem. Um editor ou CMS os insere para controle de quebra de linha. Ou alguém os plantou deliberadamente — para watermarking, para formatação, ou para fazer um identificador corresponder de forma diferente.

Caracteres ocultos podem ser perigosos?

Por si só, não. Mas em código, nomes de usuário e URLs eles podem mudar como o texto é parseado. O ataque Trojan Source (CVE-2021-42574) usou overrides bidirecionais para fazer compiladores lerem lógica diferente do que os revisores viam. Em nomes de usuário, um U+200B oculto faz duas strings com a mesma aparência serem comparadas como diferentes.

Como eu removo caracteres ocultos?

Cole seu texto, clique em Analisar, depois clique em Remover Caracteres Ocultos. A ferramenta elimina todo caractere invisível que detecta e deixa o texto visível intacto. Copie o resultado de volta com Copiar Texto Limpo.

Meu texto é enviado para algum lugar?

Não. O detector roda inteiramente no seu navegador como JavaScript. Nada é enviado para um servidor, o que o torna seguro para usar em código-fonte, credenciais ou qualquer texto que você não possa compartilhar.

Isso detecta ataques de homoglifo?

Não. Homoglifos são caracteres visíveis — um а cirílico (U+0430) parece idêntico a um a latino (U+0061) mas ambos renderizam normalmente. Esta ferramenta sinaliza caracteres invisíveis. Detectar confundíveis exige uma checagem contra os dados de confusables do Unicode, que mapeiam caracteres parecidos a um esqueleto normalizado.