URLs e domínios de phishing

Verificador de homóglifos

Execução localNova

A ferramenta em si está em inglês; esta página explica como usá-la no seu idioma.

Use Verificador de homóglifos

O que ele faz

Cole um domínio, uma URL ou um texto para ver cada rótulo em Unicode e em punycode, o sistema de escrita (script) e o protótipo UTS #39 de cada caractere, e se o nome mistura sistemas de escrita ou se lê como outro nome ASCII.

Ele funciona inteiramente no seu navegador: nada do que você digitar é enviado.

Como usar Verificador de homóglifos

  1. Cole o nome. Cole um domínio, uma URL, um endereço de e-mail, várias linhas ou uma mensagem inteira. Formas neutralizadas como hxxps:// e [.] são aceitas, e rótulos xn-- são decodificados.
  2. Adicione o domínio real (opcional). Digite o domínio que você esperava em Compare with the real domain (comparar com o domínio real), por exemplo o domínio real do seu banco.
  3. Faça a verificação. A verificação roda enquanto você digita, ou pressione Enter ou clique em Check. Shift+Enter adiciona uma nova linha.
  4. Leia o veredito. A caixa colorida diz Lookalike risk, Check this, Looks clean ou Notes, com uma linha por constatação. Uma mensagem com vários hosts gera uma tabela com um resultado por host.
  5. Encontre as letras estranhas. Os caracteres suspeitos ficam marcados no domínio destacado. A tabela Characters lista cada um com seu ponto de código, o sistema de escrita e a letra ASCII que ele imita.
  6. Copie ou repasse. Copie a forma Unicode ou punycode, ou use Send to… para consultar o domínio no DNS over HTTPS Lookup ou no Abuse Contact Lookup.

Exemplo

Imitação em cirílico no punycode

Entrada
xn--80ak6aa92e.example
Saída (registrada em 2026-10-20)
Lookalike risk: Label "аррӏе" is written in Cyrillic but reads as the ASCII name "apple" (whole-script confusable).
Highlighted domain
аррӏе.example
Unicode form
аррӏе[.]example

Punycode (ACE) form
xn--80ak6aa92e[.]example

RESTRICTION LEVEL
Single Script
SCRIPTS
Cyrillic, Latin
READS AS
apple[.]example
Labels
UNICODE	ACE	SCRIPTS	MIXED	RESTRICTION LEVEL	SKELETON
аррӏе	xn--80ak6aa92e	Cyrillic	no	Single Script	apple
example	example	Latin	no	ASCII-Only	ASCII only
Characters
CHAR	CODE POINT	SCRIPT	UTS #39 PROTOTYPE	ID STATUS	FLAG
а	U+0430	Cyrillic	a (U+0061)	Allowed	looks like ASCII
р	U+0440	Cyrillic	p (U+0070)	Allowed	looks like ASCII
р	U+0440	Cyrillic	p (U+0070)	Allowed	looks like ASCII
ӏ	U+04CF	Cyrillic	l (U+006C)	Allowed	looks like ASCII
е	U+0435	Cyrillic	e (U+0065)	Allowed	looks like ASCII
e	U+0065	Latin	itself	Allowed	ASCII
x	U+0078	Latin	itself	Allowed	ASCII
a	U+0061	Latin	itself	Allowed	ASCII
m	U+006D	Latin	rn (U+0072 U+006E)	Allowed	ASCII
p	U+0070	Latin	itself	Allowed	ASCII
l	U+006C	Latin	itself	Allowed	ASCII
e	U+0065	Latin	itself	Allowed	ASCII
Comparison with apple[.]example
Confusable: аррӏе[.]example and apple[.]example have the same UTS #39 skeleton, so they can look identical.
SKELETON OF THE INPUT
apple[.]exarnple
SKELETON OF APPLE[.]EXAMPLE
apple[.]exarnple

Decodifica para аррӏе.example: as cinco letras são cirílicas e se leem como apple, então o rótulo é sinalizado como confundível de sistema de escrita inteiro (whole-script) e cada caractere é marcado. Load example também coloca apple.example no campo de comparação, que tem o mesmo esqueleto.

O que ele verifica

SinalO que isso significa
Sistemas de escrita misturados em um rótuloLatino misturado com cirílico ou grego dentro de um rótulo aparece em vermelho. Misturas que o UTS #39 aceita, como latino com japonês, são apenas anotadas, a menos que um caractere se pareça com ASCII.
Imitação de sistema de escrita inteiroTodas as letras vêm de outro alfabeto, mas o rótulo se lê como uma palavra ASCII, como o cirílico аррӏе para apple. Isso aparece em vermelho.
Diferença só no acentoUm rótulo como wället se lê como wallet se você não notar o acento. Isso é uma constatação amarela Check this.
Protótipo UTS #39A tabela Characters mostra qual letra ou dígito ASCII cada caractere imita, marcado como looks like ASCII, non-ASCII ou ASCII.
Nível de restriçãoDe ASCII-Only a Unrestricted, segundo o UTS #39. Minimally Restrictive e Unrestricted aparecem em vermelho porque permitem as misturas mais arriscadas.
Caracteres invisíveis e mapeamento do navegadorSe o navegador reescreveria o host, por exemplo removendo um caractere de largura zero ou transformando letras de largura total em letras normais, você recebe um aviso amarelo e um campo What the browser opens. Se o navegador não consegue mapear o host, os caracteres invisíveis nele aparecem em vermelho.
Pontos estranhosPontos finais ideográficos ou de largura total (U+3002, U+FF0E, U+FF61) funcionam como pontos nos navegadores, mas podem passar por filtros que comparam texto simples.
Punycode quebradoUm rótulo xn-- que não decodifica corretamente aparece em vermelho.
Truques ASCIINomes em ASCII simples com 0 no lugar de o, 1 no lugar de l, rn no lugar de m ou vv no lugar de w recebem uma nota. Use o campo de comparação para confirmar.
Resultado da comparaçãoSame domain, Confusable (same skeleton), Confusable once case is ignored, Differs only by accents, 1 or 2 edits away (likely typo-squat) ou Not confusable.

Mais exemplos

а cirílico em um nome latino, comparado com wallet.example

Entrada
wаllet.example
Resultado

Lookalike risk: Label "wаllet" mixes scripts (Latin + Cyrillic, restriction level: Minimally Restrictive); 1 character(s) look like ASCII and it reads as "wallet". Forma punycode xn--wllet-4ve[.]example. Comparação: Confusable, os dois esqueletos são wallet[.]exarnple.

Dígito 1 no lugar de l, comparado com wallet.example

Entrada
wa1let.example
Resultado

Looks clean: ASCII-only host: no homoglyphs, no mixed scripts. Uma nota diz que o rótulo contém "1" (can read as l). Comparação: Confusable, porque os dois nomes têm o esqueleto wallet[.]exarnple.

Letra acentuada, comparada com wallet.example

Entrada
wället.example
Resultado

Check this: Label "wället" reads as "wallet" if the accents are overlooked. Forma punycode xn--wllet-gra[.]example, nível de restrição Single Script. Comparação: Differs only by accents.

Perguntas frequentes

O que o verificador testa?

Cada rótulo é decodificado do punycode com um decodificador RFC 3492, cada caractere recebe seu sistema de escrita Unicode e seu protótipo UTS #39 a partir do confusables.txt (Unicode 18.0), e o rótulo passa por uma verificação de mistura de sistemas de escrita e recebe um nível de restrição UTS #39. Rótulos cujas letras todas se leem como ASCII são sinalizados como confundíveis de sistema de escrita inteiro.

Ele pode deixar passar uma imitação ou sinalizar um domínio real?

Sim. O UTS #39 cobre caracteres parecidos, não erros de digitação, então uma letra trocada ou faltando só aparece pela distância de edição no campo de comparação, e truques ASCII como rn no lugar de m são listados como notas. Nomes legítimos em outros alfabetos, por exemplo alguns domínios cirílicos sob .рф, podem se ler como palavras latinas e ser sinalizados.

Algo é enviado pela rede?

Não. A decodificação, a detecção do sistema de escrita e a tabela de confundíveis rodam nesta página; a forma punycode vem do próprio analisador de URLs do seu navegador, e nenhuma consulta DNS é feita.

O que significam os níveis de restrição?

Eles vêm do Unicode UTS #39. ASCII-Only usa só ASCII simples. Single Script usa um único sistema de escrita. Highly Restrictive permite latino com chinês, japonês ou coreano. Moderately Restrictive permite latino com outro sistema de escrita comum, exceto cirílico e grego. Minimally Restrictive permite outras misturas, e Unrestricted significa que um caractere está fora do perfil de identificadores.

Por que a ferramenta diz que o navegador abre um nome diferente?

Os navegadores normalizam nomes de host com o mapeamento UTS #46. Entre outras coisas, ele transforma letras de largura total em letras normais e remove caracteres invisíveis, como o espaço de largura zero e o hífen condicional (soft hyphen). O link então abre o nome mapeado, enquanto o texto como foi escrito ainda pode passar por filtros que comparam strings brutas.

Quantos hosts posso verificar de uma vez?

Cole uma lista ou uma mensagem e a ferramenta extrai até 50 nomes de host, ignorando endereços IP. O texto é analisado até 20.000 caracteres, e quaisquer palavras não ASCII fora dos nomes de host também são verificadas.

Explicação dos termos

Pesquisa do PhishDestroy