Convertitore testo omoglifo
Hello World diventa Неⅼⅼо Ԝо𝗋ⅼԁ: si legge allo stesso modo, ma 10 dei suoi caratteri ora sono cirillici, greci o altri sosia. Prepari campioni per laboratori di phishing, oppure riporti in ASCII un nome utente sospetto per smascherare il trucco. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Testo
- Hello World
- Modalità di calcolo
- Encode
- Risultato
- Неⅼⅼо Ԝо𝗋ⅼԁ
- Direzione
- encode
- Associato
- 10
- Numero non mappato
- 1
La conversione di testo per omoglifi sostituisce lettere latine e cifre ordinarie con caratteri Unicode che nelle fonti comuni appaiono quasi uguali—a e o cirilliche, nu e kappa greche, cifre fullwidth e altre forme confondibili—così una stringa resta leggibile mentre i suoi code point non sono più ASCII puro. Gli analisti di sicurezza usano questo scambio per costruire campioni di laboratorio di phishing e impersonificazione di marchio; i redattori, per un tocco stilistico look-alike; i desk di supporto servono il percorso inverso per normalizzare incolla sospetti in ASCII ricercabile. Questa capacità implementa entrambe le direzioni in modo deterministico: encode mappa ogni lettera latina e cifra a un glifo confondibile preferito, decode applica una tabella più ampia di look-alike noti verso ASCII puro, e la modalità auto sceglie il percorso quando sono presenti glifi omoglifi esclusivi. Spazi, punteggiatura, emoji e altri caratteri non mappati passano intatti e compaiono una sola volta nel report unmapped, così Lei sa cosa è rimasto invariato.
Come funziona la mappatura omoglifa e cosa contiene la risposta
Un omoglifo è un carattere di un altro alfabeto o blocco che a occhio si confonde con una lettera o cifra latina nelle tipografie di tutti i giorni. Encode scorre ogni scalare Unicode della Sua stringa, sostituisce ogni A–Z, a–z o 0–9 plain che abbia una voce preferita nella tabella—ad esempio o latina verso о cirillica, p latina verso р cirillica, x latina verso х cirillica, e le cifre verso forme fullwidth—e lascia intatto il resto.
Decode scorre la stessa stringa e mappa ogni glifo confondibile noto al suo gemello ASCII puro; la tabella inversa è più ampia di quella di encode, così look-alike greci, armeni e cirillici extra collassano in modo pulito anche se encode non li avrebbe prodotti. L’ordine dei caratteri non viene mai invertito; cambia solo l’identità del code point, ed è questa la differenza rispetto a generatori di testo capovolto o di stringa invertita.
Campi di input, modalità, regole di validazione e insidie comuni
Opzionalmente invii mode come encode, decode o auto; se omesso, auto è il valore predefinito. La modalità auto decodifica quando è presente un glifo omoglifo esclusivo—caratteri che compaiono solo come forme confondibili e mai come chiavi della mappa plain—e altrimenti codifica, che è il default corretto per incollare testo misto senza pensare alla direzione. I fallimenti di validazione non consumano il saldo prepagato.
I caratteri senza voce in tabella, inclusi la maggior parte di emoji, ideogrammi CJK e punteggiatura, restano nel risultato nella forma originale e sono elencati in modo unico sotto unmapped, per auditare la copertura senza rifiutare l’intera stringa. Preferisca questa pagina quando l’intento di ricerca è letteralmente convertitore di omoglifi, Unicode confondibile o caratteri latini look-alike; gli strumenti solo fullwidth, Fraktur o testo sottosopra rispondono ad intenti diversi e devono restare separati.
Casi d'uso
Laboratori di phishing e look-alike di marchio
Costruisca campioni confondibili di marchio e dominio per formazione di awareness, poi decodifichi l’incolla catturato in ASCII puro per ticket e ricerca.
Normalizzare incolla Unicode sospetti
Mappi look-alike greci, cirillici e fullwidth in nomi utente o messaggi a lettere latine e cifre pure per moderazione e SIEM.
Domande frequenti
Come converto testo latino in omoglifi?
Usi mode encode o lasci mode su auto. Il campo result contiene la stringa Unicode confondibile.
Come riporto gli omoglifi in ASCII puro?
Invii la stringa confondibile in text con mode decode, oppure usi auto quando la stringa contiene già glifi omoglifi esclusivi. Il result è il testo ASCII puro ripristinato.
Il convertitore di testo omoglifo è gratuito?
Lo strumento browser gira gratis sul Suo dispositivo.
Cosa succede se text è vuoto?
Fornisca almeno un carattere di latino puro, cifre o testo omoglifo da convertire.
Cosa fa la modalità automatica?
Sceglie da sola la direzione: se nel testo ci sono caratteri che esistono solo come sosia, lo riporta in ASCII; altrimenti lo trasforma in omoglifi. È l'impostazione predefinita, comoda quando incolla un testo misto.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/enc/homoglyph \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello World"}'const res = await fetch("https://api.kit.forhosting.com/enc/homoglyph", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello World"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/homoglyph",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello World"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/homoglyph", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello World"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello World"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/homoglyph", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"text": "Hello World"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.homoglyph",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Come funziona la mappatura omoglifa e cosa contiene la risposta
In caso di successo la risposta riecheggia il testo originale, restituisce result come stringa trasformata, mode come operazione richiesta, direction come percorso encode o decode risolto, mapped come conteggio degli hit di tabella, unmapped_count e unmapped come i caratteri di passaggio unici, length come lunghezza in scalari del risultato, e method impostato a homoglyph.
Campi di input, modalità, regole di validazione e insidie comuni
Invii un campo stringa obbligatorio chiamato text con il campione, il nome utente, la stringa di marchio o il payload di laboratorio che desidera convertire o normalizzare. Alias come input, value, data, message e string sono accettati per lo stesso campo, così gli script riutilizzano forme di payload già esistenti. Sono accettati anche alias di direzione come op, operation e direction, e valori brevi come enc, dec, to_homo, to_ascii, obfuscate e normalize. Text mancante, oggetti non stringa, stringhe vuote, valori di mode sconosciuti e stringhe più lunghe del massimo documentato falliscono con invalid_input e un messaggio chiaro in inglese. Non tratti l’output come cifratura né come modo per nascondere credenziali: chi conosce lo schema può invertirlo, e i prodotti di sicurezza devono usare decode per normalizzare, non encode per occultare.
Flussi pratici, prezzi, laboratori di sicurezza e limiti API
I flussi di protezione del marchio confrontano una stringa visibile all’utente con una forma ASCII normalizzata così lo spoofing visivo emerge anche quando i code point differiscono. I team di contenuto e social a volte vogliono testo look-alike decorativo per handle e didascalie quando una piattaforma accetta Unicode ma non font personalizzati. I docenti dimostrano che la somiglianza visiva non è identità di code point, poi contrappongono gli omoglifi a vere trasformazioni crittografiche più avanti nel programma. Abbini la normalizzazione Unicode NFKC solo se un passo successivo richiede composizione canonica; tenga il convertitore di omoglifi sulla propria landing così l’intento SEO resta nitido e l’utente trova il comportamento encode-più-decode look-alike che si aspetta. Usi lo strumento nel browser per controlli una tantum senza installare librerie; chiami l’API quando un backend, una funzione serverless o un SDK richiede un contratto stabile sotto saldo a $0.002 per item riuscito. Mantenga payload di dimensioni testo ordinarie adatte a una chiamata item in un isolate Worker—questo strumento è per campioni e didascalie, non per blob binari multi-megabyte.
Casi di integrazione
Aula e fixture CI
I docenti mostrano confondibili visivi contro code point; gli ingegneri fissano uscite encode e decode deterministiche nei test automatici.
Domande tecniche
Cosa succede ai caratteri senza mappatura?
Restano nel risultato nella forma originale. I caratteri unmapped unici sono elencati in unmapped e contati in unmapped_count così vede cosa è rimasto intatto.