Unicode String Diff & Comparison Studio
Compare two Unicode strings character-by-character, detect homoglyph attacks, reveal invisible zero-width spaces, and inspect canonical NFC/NFD equivalence.
Character-by-Character Codepoint Comparison Grid
Green = Exact Match • Red = MismatchThe Computer Science of Unicode String Equality & Homoglyphs
In primitive 7-bit ASCII systems, string equality is trivial: two strings are equal if and only if their byte sequences match byte-for-byte. However, in the modern Unicode ecosystem, string comparison presents significant security and software engineering challenges.
Two strings may appear completely indistinguishable to the human eye while failing computer binary equality tests (strA === strB → false). There are two primary reasons for this:
U+0061) and a Cyrillic lowercase ‘а’ (U+0430) share the identical glyph design in almost all system fonts. Cyber attackers use this to spoof financial login domains (e.g. pаypаl.com).é can be stored as a single precomposed character (U+00E9 in NFC) or as two separate code points (e U+0065 + combining acute U+0301 in NFD).Key Diff & Inspection Capabilities
- •Hex Codepoint Alignment: Shows side-by-side hexadecimal values (
U+0061 vs U+0430) for every position. - •Invisible Watermark Detection: Reveals hidden Zero-Width Spaces (
U+200B) and soft hyphens. - •NFC Canonical Normalization: Verifies whether two strings are identical after Unicode standard normalization.
- •Similarity Percentage Scoring: Instant mathematical similarity metric for string matching pipelines.
Frequently Asked Questions (FAQs)
How do I identify invisible zero-width characters in a string?+
Paste your string into String A and a clean version into String B. Our tool will flag the zero-width character (such as U+200B or U+FEFF) with a red mismatch card and display its exact hexadecimal code point.
What is the difference between NFC and NFD in Unicode string comparison?+
NFC (Normalization Form C) composes base characters and diacritical marks into single unified code points (e.g. "é" as U+00E9), while NFD decomposes them into distinct base letters and combining marks (e.g. "e" U+0065 + "\u0301" U+0301).
Can I export a summary of all detected string mismatches?+
Yes! Click the "Copy Summary Report" button to copy a complete structured summary of string lengths, matching counts, and percentage similarity.