Unicode Normalization Hash – Same-Looking Text, Different SHA-256

Local only

Troubleshoot Unicode hashes when visually identical strings use different code-point sequences.

1 chars · 1 line

Waiting for input

Loading hash algorithms…

Unicode hash mismatches

Why can identical-looking Unicode text have different hashes?

Unicode can represent some visible characters with more than one code-point sequence. VetaTool hashes the UTF-8 encoding of the entered text and does not apply Unicode normalization first. This tool is free to use. No account or payment is required.

Last updated

What you can do here

  • MD5 text digests
  • SHA-1 text digests
  • SHA-256 text digests
  • SHA-512 text digests
  • Exact text byte sensitivity
  • Browser-local hashing

Steps

  1. Inspect the Unicode code-point sequence.
  2. Choose a normalization form only when your protocol specifies one.
  3. Normalize before hashing on every producer and verifier if canonicalization is required.

Visual equality is not byte equality

The single code point U+00E9 and the sequence U+0065 U+0301 can render as the same é. Their UTF-8 bytes differ, so their hashes differ until a normalization step makes the representation consistent.

Composed vs decomposed é

The two inputs can render identically while containing different code points.

Input comparison

U+00E9: é
U+0065 U+0301: é

SHA-256 digests

composed: 4a99557e4033c3539de2eb65472017cad5f9557f7a0625a09f1c3f6e2ba69c4c
decomposed: bf12767b0f2a56b2190075bae8169f656e3ce8d6357d4aff184bc6c7ea48f9f6

Common questions

Frequently asked questions

Does the Hash tool normalize Unicode?

No. It hashes the UTF-8 text representation supplied by the browser.

Should I use NFC before hashing?

Only when the protocol or application defines NFC, NFD, or another normalization form as part of canonicalization.

Debugging a specific Hash issue? Browse Hash troubleshooting.