Skip to content

Use this result well

Inputs that matter
Text typed, pasted or imported from a plain text file; up to 500,000 UTF-16 code units.
Output to expect
Named Unicode counts, word frequencies and timing estimates, with English readability and a publishing-field comparison where shown.
How it works
Analysis updates as you edit; larger drafts run in a cancellable background task. Reading uses 238 words per minute and speaking uses 150.
  • Character counts distinguish UTF-16 units, Unicode code points and visible character groups. Use the measure required by your destination.
  • Word and sentence boundaries can vary by language and browser. English syllable and readability estimates do not judge accuracy or suitability for your audience.
  • Select a publishing field for its named character or byte comparison. An SEO writing budget is your own editing target.

Choose your path

Built around the job you need to finish

Describe the exact entered text with separately named UTF-16 code-unit, Unicode code-point, grapheme-cluster and non-whitespace counts without claiming a universal platform limit or user-perceived-character guarantee.

Multilingual social copy editor

See why emoji, combining marks and non-BMP text can produce different counts.

Enter the exact final draft, compare all three character representations and verify the current target composer.

Can reproduce the record without calling one count the universal platform length.

Developer or localization reviewer

Distinguish JavaScript String.length from code points and grapheme segmentation.

Test ASCII, surrogate pairs, combining marks, ZWJ sequences, whitespace and empty input, then inspect the stated runtime method.

Can identify the exact counting basis and fallback rather than receiving an unexplained “characters” number.

Keyboard, screen-reader or cognitively affected content reviewer

Operate a focused input and understand that counts do not prove clarity or accessibility.

Use the labeled editor, metric cards, copy/save controls and method boundary without a color-only or quota-only verdict.

Can accept, revise or reject the text using the target context and affected-person review.

Was this tool helpful?

Reference & details

How it works

UTF-16 code units

JavaScript String.length counts 16-bit UTF-16 code units. A supplementary Unicode code point therefore uses two units.

Code points and grapheme clusters

Array iteration counts code points. Intl.Segmenter with grapheme granularity estimates extended grapheme clusters such as combining sequences and many emoji sequences; the panel discloses when it falls back to code points.

Decision boundary

General character counts do not establish a universal platform limit or visible width. Choose a publishing field for the separately named length comparison, then verify the exact destination and final draft.

Updated: September 2026

Example Scenarios

Compare a plain letter, a precomposed letter, a combining sequence and a ZWJ emoji before handing the exact draft to a target composer.

Save the exact draft and all named count representations into the Social Content Release Record without claiming a universal limit.

Record the required counting convention for an identifier or field and verify encoding, storage, display and truncation in that exact system.

Common Mistakes to Avoid

Calling String.length the number of visible characters

Name it UTF-16 code units and compare code points and grapheme clusters.

Copying a platform limit into a permanent rule

Verify current platform documentation and the actual composer for the exact account, format and content.

FAQ

One displayed emoji may contain multiple Unicode code points and each supplementary code point uses two UTF-16 code units. A ZWJ sequence can still form one grapheme cluster.

No. Default segmentation approximates user-perceived characters, while fonts, rendering engines, locale tailoring and unsupported sequences can differ.

No. Platforms can apply their own rules to links, line endings, normalization, emoji and truncation. Verify the exact final draft in the current target composer.

No. Byte length depends on an encoding. The primary cards count Unicode representations; choose UTF-8 bytes in a custom publishing budget or the YouTube Data API description field to inspect encoded text length.

The UTF-16 and code-point totals include them. The non-whitespace card removes Unicode whitespace; the receiving system may use a different policy.

About Unicode Character Counter

Paste the exact text you need to inspect. The panel names three different meanings of character instead of collapsing them into one number. Current platforms may count, transform, shorten, normalize or truncate content differently, so verify the final text in the target composer.