TypeMay / Practical tools

Every character counts. Differently.

Count words, visible character clusters, code points, lines and UTF-8 bytes. Choose the text language to guide browser word segmentation.

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.

    Five useful counts

    Why not split on spaces?

    Languages such as Chinese, Japanese and Thai do not separate every word with spaces. TypeMay uses Intl.Segmenter for language-aware segmentation. Browser versions and their language data can produce different counts. These values are not a guarantee of any publisher’s word-count policy.

    Emoji, accents and limits

    A combined accent and its base may count as one character but two code points. Some emoji are a whole sequence. If the browser lacks Intl.Segmenter, word and grapheme counts show a dash instead of a misleading space-based estimate. Code-point and byte counts still work.

    The input limit uses UTF-16 units, a JavaScript string measure that is different from all five displayed counts. The current cap is 100,000 units. Counts describe the current preview, so cleanup may change them.

    For a character-by-character view, use the Unicode inspector.