Mixed Script Detector
Detect Unicode writing systems and mixed substantive-script patterns.
Detect Unicode lookalikes, homoglyphs and mixed-script patterns. Inspect scripts, code points, confusable mappings and suspicious spoofing indicators.
This server-side tool preserves the submitted strings for analysis and returns cautious review indicators, not intent judgments.
Input is analyzed as text. The detector does not fetch URLs, check domain registration or replace characters.
Compare the analyzed text with a known trusted spelling.
| Position | Character | Code point | Unicode name | Script | Confusable with | Reason |
|---|
This Unicode confusable detector inspects code points, identifies scripts, detects mixed substantive scripts, uses Unicode confusable mappings, generates a comparison skeleton, shows likely visual lookalikes, supports an optional trusted target, reports invisible and directional characters separately, and provides review indicators rather than intent judgments. Analysis is processed on the server.
The default example раypal.com begins with Cyrillic U+0440 CYRILLIC SMALL LETTER ER and U+0430 CYRILLIC SMALL LETTER A. With the trusted comparison paypal.com, the exact strings differ, but the confusable skeletons match when using the bundled mapping data.
| Character | Code point | Script | Lookalike mapping |
|---|---|---|---|
р | U+0440 | Cyrillic | p U+0070 Latin |
а | U+0430 | Cyrillic | a U+0061 Latin |
Plain ASCII paypal.com has no non-ASCII confusable findings and does not mix substantive scripts.
Mixed scripts mean more than one writing system is present. Confusables are characters or sequences that may look alike. A mixed-script string may be legitimate, and a same-script string may still contain confusables. Script detection and confusable mapping are separate analyses. Common and Inherited characters, such as punctuation, digits and combining marks, do not automatically create a mixed-script warning.
A skeleton is a comparison representation generated from the bundled Unicode Technical Standard #39 confusables mapping data. Lookalike strings may reduce to the same skeleton, but skeleton equality is a review signal, not proof of malicious intent. The skeleton is not corrected text, and results depend on the Unicode data version and mapping algorithm used.
Common examples in the bundled data include Cyrillic р mapping to Latin p, Cyrillic а mapping to Latin a, and Greek Α mapping to Latin A. Fonts and rendering affect how close these look. Same-script mappings also exist; for example Latin ǃ maps to the common exclamation mark !, which shows why mixed-script detection alone is insufficient.
Some Unicode characters are invisible or affect text direction. Zero-width spaces, joiners, soft hyphens, bidirectional controls, directional isolates, variation selectors, combining marks and control characters are reported as separate indicators. They may be legitimate, but they can complicate code review, identifiers, domains and logs.
This tool analyzes Unicode characters. It does not verify domain ownership, check registration status, confirm phishing intent or fully emulate browser IDN display policies. Punycode conversion and IDNA validation are separate operations, and a Unicode string may have a Punycode representation. Use the Punycode Converter for IDNA/Punycode conversion.
Visual appearance depends on font and rendering. Context matters, mixed scripts can be legitimate, and equal skeletons do not prove intent. The detector does not authenticate a sender, domain, file or account, and it does not replace browser, registry or application IDN policies.
The submitted text is sent to UnicodeNow for confusable-character analysis. Input is processed securely and is not intentionally retained after the request completes.
Do not submit passwords, private keys, access tokens, personal records or other sensitive data.
A Unicode confusable is a character or sequence that may look like another character or sequence, such as Cyrillic р resembling Latin p in some fonts.
Homoglyph is a common informal term for lookalike characters. Unicode security data uses confusable mappings for these visual similarities.
Mixed-script analysis reports writing systems used in the text. Confusable analysis checks Unicode lookalike mappings. They are related but separate signals.
A skeleton is a comparison representation built from Unicode confusable mappings. Matching skeletons are a review signal, not proof of intent.
The first two letters can be Cyrillic U+0440 and U+0430, which have confusable mappings to Latin p and a.
No. Multilingual text often uses multiple scripts legitimately. The detector reports review indicators rather than judging intent.
Yes. Confusable mappings can exist within one script or between a script and common symbols, so mixed-script detection alone is not enough.
Yes. Invisible, formatting, combining and directional controls are reported separately from confusable-character findings.
No. It analyzes Unicode characters only. IDNA validation, Punycode conversion, registration checks and browser IDN display policies are separate.
The submitted text is sent to UnicodeNow for analysis. The application code processes it for the request and does not intentionally retain it after completion, but you should not submit sensitive data.
Use the Mixed Script Detector to inspect writing systems separately, or convert internationalized domain names with the Punycode Converter.
Detect Unicode writing systems and mixed substantive-script patterns.
Convert Unicode domain names to Punycode and decode xn-- labels with IDNA validation.
Search Unicode characters by glyph, code point, name, script or block.
Find zero-width, control, variation, private-use and spacing characters.
Convert text to and from Unicode escape sequences and numeric entities.
Check which Unicode normalization forms match the input.