Text Tools

Character Counter

Compare grapheme clusters, code points, UTF-16 units, words, and lines.

Enter the values and review the result.

Limit: 200,000 UTF-16 code units0 used

Characters

0

Unicode grapheme clusters

Characters excluding whitespace

0

Grapheme clusters after Unicode White_Space removal

Unicode code points

0

Unicode scalar/code-point iteration

UTF-16 code units

0

JavaScript string storage units

Words

0

Unicode word-like segments

Lines

0

Normalized CRLF, CR, and LF separators

Three ways to measure text length

A grapheme cluster approximates one visible character. A Unicode code point identifies an encoded character value, while a JavaScript string stores UTF-16 code units. A family emoji can therefore be one grapheme cluster, seven code points, and eleven UTF-16 code units.

These labels make the measurement explicit so you can compare the result with the policy used by a form, platform, database, or programming interface.

Whitespace and line rules

The no-whitespace metric removes Unicode White_Space characters before grapheme counting. Line counting normalizes Windows CRLF and standalone CR endings to LF; a final line separator creates a final empty line.

Quick answers

What this calculator answers

  • Characters: Counts Unicode grapheme clusters, not UTF-16 units.
  • Technical units: Reports Unicode code points and UTF-16 code units separately.
  • Whitespace: Excludes the complete Unicode White_Space property in the no-whitespace metric.
  • Lines: Normalizes CRLF and CR while preserving a trailing empty line.

Transparency note

Accuracy and limitations

Calzivo tools are built for practical estimates, conversions, and checks. Some tools use standard formulas or simplified assumptions, and results can be affected by input accuracy, rounding, units, local rules, or changing official requirements.

Results depend on the values you enter and any simplified assumptions used by the tool. Verify important results before making decisions or submitting official information.

Reference check

Sources and references

These references provide background context for the topic. They do not replace official advice or documents for personal decisions.

How to Use This Tool

Use these steps to enter the right inputs and interpret the result correctly.

1

Type or paste multiline text into the editor.

2

Compare visible grapheme clusters with code points and UTF-16 code units.

3

Review word and normalized line counts or copy the labeled metrics.

Frequently Asked Questions

Common questions about Character Counter and how to read the result.

What does Characters mean?

Characters is the Unicode extended grapheme-cluster count: a practical approximation of user-perceived characters. Code points and UTF-16 code units are shown separately.

How are emoji counted?

With Intl.Segmenter, a supported emoji sequence such as a family joined with zero-width joiners is normally one grapheme cluster even though it contains multiple code points and UTF-16 units.

What does excluding whitespace remove?

It removes characters in the Unicode White_Space property, including ordinary spaces, tabs, line breaks, and non-breaking spaces, before counting grapheme clusters.

How are lines counted?

CRLF and standalone CR are normalized to LF. Empty text has zero lines; nonempty text has one line plus each LF separator, including a trailing newline.

Why can another platform show a different count?

Platforms may count UTF-16 units, code points, bytes, links, or platform-specific text elements instead of Unicode grapheme clusters.

What is the input limit?

The browser-safety limit is 200,000 UTF-16 code units. Text above the limit is retained in the editor but no partial metrics are shown.