Unicode and Internationalization

Unicode confusable detectorexplain lookalike code points

Review script mixing, mapped characters, and an optional reference string.

Unicode confusable detector

Text to inspect

Inspection report

Text stays in this browser and is not uploaded.

Inspection options

Unicode 18.0 confusables and script tables are bundled locally.

Skeleton comparison omits bidirectional reordering; normalization follows the browser runtime. A match is not a safety verdict.

Input changed. Wait for inspection or run it manually.

A Unicode confusable detector helps when a username, code identifier, or address looks familiar but fails an exact comparison. The visible letters may come from different scripts, such as a Cyrillic а inside a Latin word.

This homoglyph detector preserves the original text and explains the stored code points. Its mixed script detector is a review signal, while the internal skeleton supports comparison with a specific spelling rather than guessing intent.

Why use a Unicode confusable detector?

See where scripts cross

The Unicode confusable detector identifies a Cyrillic letter inside an otherwise Latin name and lists its exact position. Mixed-script text is a prompt to inspect, not proof of deception.

One visually similar letter is highlighted among Latin character blocks, with its different script shown by color.

Compare a known spelling

Two strings can differ byte for byte but share an internal confusable skeleton. Compare against a reference name to see that relationship, then inspect each mapped code point instead of treating the skeleton as replacement text.

Two distinct rows of character blocks converge on the same diagnostic sequence while their originals remain separate.

Review the evidence before drawing a conclusion

01

Choose the comparison scope

One-string mode checks script mixing and candidates. Switch to two strings only when you have a specific reference spelling; the second field is never fetched from a URL.

02

Watch freshness after edits

Automatic inspection waits about 350 ms after a change. Turn it off for manual checks with Ctrl/Cmd+Enter. Editing either string immediately disables report export until the next successful run.

03

Read the code points

A mapping can target several code points and may belong to a normal language. Inspect the original character and script first; the skeleton is a diagnostic sequence, not a safe rewritten name.

What the character report contains

Fixed Unicode 18 mappings

The lookalike character checker uses the complete versioned confusables mapping, including prototypes made of multiple code points, instead of a short handpicked Latin and Cyrillic list.

Two independent signals

The report separates scripts present in the text from mapped candidates. A single-script Cyrillic word can have lookalikes without being mixed-script, and ordinary bilingual text may mix scripts harmlessly.

Full report, short display

Character details appear in batches of 100 to keep the page responsive. Copy and JSON download still include every analyzed character, its offset, script, and mapped prototype.

What this comparison does and does not establish

No domain reputation check
A pasted URL is treated as text. The tool never queries DNS, ownership, registration, or brand databases, so a skeleton match cannot prove a domain is malicious.
No automatic correction
The Unicode mapping is a confusable candidate, not the author’s intended spelling. The tool never replaces characters or rewrites the input.
Internal skeleton only
NFD normalization, ignorable removal, and Unicode 18 mappings are used, but bidirectional reordering is absent. This is not a complete UTS #39 or IDNA policy implementation.
Bounded, valid text
Each input is limited to 10,000 UTF-16 units. Isolated surrogate units cause an error rather than silent replacement; a browser may normalize pasted line endings before analysis.

Unicode confusable detector questions

What is a Unicode confusable character?

It is a character with a mapping to a visually similar prototype in Unicode’s data. Similarity varies by font; the report names the code point and mapping without labeling it harmful.

How is a confusable different from mixed-script text?

Mixed-script means several writing systems occur together. A confusable candidate comes from a character mapping; either can appear without the other, so review both signals.

What is a confusable skeleton?

It is a comparison form built from normalization and confusable mappings. This page displays code points for diagnosis; the sequence is not corrected text to publish.

Can two strings look alike but have different code points?

Yes. Latin a and Cyrillic а have different code points even where a font draws them similarly. The character list makes that difference visible.

Does a matching skeleton prove a domain is malicious?

No. A matching internal skeleton only identifies a possible lookalike relation under this data and algorithm. Domain ownership, registration, context, and intent are outside this tool.

Need another mapping explained?

Inspect with the Unicode confusable detector

Paste a short name or identifier into the Unicode confusable detector, compare it with a known spelling if useful, and review the code points before deciding what it means.