BEHIND THE NUMBER
Why word counts differ
The same draft can produce different totals. Start by comparing what each counter means by a word.
First, compare the same text
Before comparing algorithms, check the material. A document editor may omit comments, headers, or certain text boxes; a plain-text counter measures exactly the text entered into it. Markdown source includes formatting markers that a rendered view may not show.
Check whether you are comparing a selection or a whole document. In this app, selected-text counts are separate; the main metric strip and report always measure the whole draft.
A whitespace rule has clear consequences
Word Counter splits on JavaScript whitespace and counts each remaining group. That simple rule is reproducible, but it is not a dictionary's definition of a word:
| Text | This app's words | Reason |
|---|---|---|
don't stop | 2 | The apostrophe stays inside its group. |
re-enter now | 2 | The hyphen does not create whitespace. |
one—two | 1 | An em dash joins the source into one group. |
Hello 👩💻 | 2 | The emoji is its own nonempty group. |
你好世界 | 1 | There is no whitespace separator; this is not a lexical Chinese word count. |
A counter that identifies linguistic word boundaries can give different totals. That does not make two differently defined measurements interchangeable.
Languages do not all use spaces the same way
Unicode's text-segmentation specification describes grapheme, word, and sentence boundaries and explains that boundaries can need tailoring for different languages and scripts. Some languages require dictionary-based or other mechanisms for reliable word boundaries.
This app deliberately labels its whitespace rule and does not claim language-aware segmentation. Use the counting rules required by your language, institution, or submission destination when the difference matters.
Reference: Unicode Text Segmentation (new tab).
A visible character can contain several code points
“Character” can refer to different units. A Unicode code point is a numeric identity in text; a grapheme cluster groups elements that a reader may perceive as one character. UTF-16 input units are another measurement used by browser strings and some platform limits.
Here, 👩💻 is three code points and five UTF-16 units. An accented letter can be a precomposed code point or a base letter followed by a separate combining mark. This app does not normalize those representations and reports code-point characters, including whitespace.
For a strict character limit, find out which unit the destination uses. A general character count is not automatically the same as a platform's weighted limit.
Sentence and paragraph rules need context too
A period can finish a sentence, appear in an abbreviation, or separate digits. Word Counter's ASCII .!? heuristic is approximate and can split Dr. Lee or a decimal differently from a grammatical parser. A final nonempty fragment can count as an approximate sentence.
Paragraphs here are nonempty blocks separated by blank lines, including space-only blank lines. A single line break stays in the same paragraph. A document editor may define a paragraph differently, such as at every paragraph-break mark.
Reconcile a submission, step by step
- Compare the exact source and scope, including formatting markers or omitted document sections.
- Test a short hyphenated phrase, punctuation, and an emoji to reveal the boundary rule.
- Check whether the character result means code points, visible characters, or another unit.
- Use the destination's own count when it enforces the limit.
- Keep a copy of your draft before changing it to satisfy a measurement.
The Manual states this app's exact rules. If spacing or copied line breaks need repair, Text Cleaner (new tab) is a separate app; review the changes before counting again.