All ToolsWord Counter
Text

Word Counter

Count words and visible characters, with and without whitespace. See the counting method before using a result for a submission limit.

Words:0
1. Character count (with spaces):0
2. Character count (without spaces):0

Characters are counted as visible Unicode characters; spaces and line breaks count too. Words follow language-aware segmentation. Other editors may use different rules.

* The character at the specified index is highlighted in real-time within the text area above.

What is Word Counter?

The word total uses the browser’s language-aware word segmentation. Character totals use grapheme clusters: a combined accent or a joined emoji can be one visible character even when it contains several Unicode code points. The total with spaces includes spaces and line breaks; the other total excludes whitespace.

When to use this tool?

Check a draft, caption or application response while editing. If a destination sets a strict limit, check its own counter too: it may count UTF-16 code units or bytes instead of visible characters.

Examples

  • Hello world: 2 words, 11 characters with the space, 10 without it.
  • The combined sequence e + β—ŒΜ is one visible character. A family emoji such as πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘¦ is also one grapheme cluster in supported browsers.

How to use Word Counter

1. Paste or type your text; the counts update immediately. 2. Compare word count and the two character totals. 3. Enter a character position to highlight that character. Positions follow the same visible-character count.

Frequently Asked Questions

Q: Why can word counts differ between editors?

A: Editors use different rules for punctuation, numbers, hyphenated words and languages without spaces. Browser segmentation can also vary by version.

Q: Is my text uploaded?

A: This counter processes text in your browser. If language-aware segmentation is unavailable, a notice explains the simpler whitespace-based word count and code-point character count.


How it works

Word and grapheme segmentation uses Intl.Segmenter when available. This is a writing aid, not a guarantee that every platform will accept the same length.