TypeMay / Practical tools

There is more between the lines.

See each Unicode code point in logical order. Find spaces, combining marks, joiners and directional controls without stripping them out.

01 / The workspace

A fresh start for your text.

In this tab only · No account
Editable · sample text
Live preview
0characters*
0words*
0code points
0lines
0UTF-8 bytes

* Characters are grapheme clusters; words use your browser’s language-aware segmentation. Counts may vary by language and browser. How counting works ↗

The small details

RemovedAdded

    ⌘ / Ctrl + Enter to apply · ⌘ / Ctrl + Shift + Z to undo an action · Files and pasted text stay on your device.

    Sample loaded. Change a setting to see its effect.

    Inspect an unexpected gap or character

    1. Paste the text or choose the invisible-character sample.
    2. Turn on “Spaces, marks & controls only” to narrow the table.
    3. Search a code point such as U+200B, a common name such as ZERO WIDTH, or a Unicode category such as Mark.
    4. Review the surrounding text before choosing any cleanup transformation.

    A character can contain several code points

    A visible é may be one precomposed code point or an e followed by a combining acute accent. An emoji family can contain multiple emoji connected by zero-width joiners. The table lists code points, while the character count uses grapheme clusters when the browser supports them.

    Invisible does not mean unnecessary

    U+200D ZERO WIDTH JOINER and U+200C ZERO WIDTH NON-JOINER can affect shaping. Bidirectional marks and isolates affect the display of mixed left-to-right and right-to-left text. TypeMay preserves these controls in cleanup. Only U+200B and U+FEFF are removed by the specifically named option.

    Positions are one-based code-point positions, not byte offsets. Unicode 17.0.0 names are loaded from the bundled official Unicode Character Database. Algorithmic blocks are labeled by their named range, rather than claiming individually expanded names. General categories use the browser Unicode implementation.

    Standards and limits

    Segmentation follows the browser’s implementation of Unicode text segmentation. The inspector helps identify characters; it does not establish linguistic correctness, security, or complete font support. See how word and character counts work.