{ }jsonkit
Format
Validate
Convert
Query
Generate

Unicode and encoding inspector

Show graphemes, code points, bytes and invisible control characters.
Normalize
72 B · paste or drop a file
1 2
✓ complete72 B → 19271 B0.0 ms

About Unicode & Encoding Inspector

The Unicode inspector breaks text into its layers. You see graphemes (what a reader counts as one character), code points, UTF-16 code units and UTF-8 bytes.

How it works

Grapheme segmentation

The browser's Unicode segmenter groups combining marks, emoji modifiers and zero-width joiner sequences into the characters a reader sees. Each group keeps its exact position in the source.

Encoding per code point

Every code point shows its U+ notation, decimal value, general Unicode category, UTF-8 bytes and UTF-16 code units. The byte and unit sequences for the whole string are shown too.

Normalization and invisible characters

You can apply NFC, NFD, NFKC or NFKD before inspecting. Spaces, control characters, zero-width characters and bidirectional controls get visible labels and counts.

Frequently asked questions

Why can one visible character contain several code points?

Combining marks, emoji skin tones, flags and joined emoji are built from several code points. They still display and move the cursor as one character.

What is the difference between NFC and NFKC?

NFC combines characters with their canonical equivalents. NFKC also folds compatibility characters, such as ligatures and full-width forms. That can change how text looks, so don't apply it blindly to identifiers or source data.

Why flag bidirectional controls?

They have legitimate uses in mixed-direction text. Hidden overrides can also make source code display in a misleading order, so they are worth a review.

Sources & last verified

We checked this tool's behavior and the claims on this page against the specifications below on . The tool runs in your browser, so the output you see is exactly what the engine produced.

Found a wrong result or an outdated claim? Report an error and we will check it again.