Skip to main content

Why two word counters give you different numbers

A word count looks like a fact and behaves like an opinion. Two tools can read the same paragraph and disagree, because neither 'word' nor 'character' has a single definition in software.

Published 3 November 2026

A word count looks like a measurement and behaves like an opinion. Paste the same paragraph into two counters and you can get two numbers, not because one is broken, but because “word” and “character” are conventions rather than facts, and nobody agreed on them.

Most of the time the gap is a rounding error you never notice. It matters in exactly one situation, and it is a common one: a hard limit you are close to.

What counts as a word

Nearly every counter starts by splitting text on whitespace, and then the rules diverge. These are the cases where tools genuinely disagree:

  • Hyphenated compounds. Is state-of-the-art one word or four? Both answers are defensible and both are in wide use.
  • Em dashes without spaces. wait—no is one token to a whitespace splitter and two words to a reader.
  • Numbers and dates. Does 3,000 count? Does 2026-11-03 count as one or three?
  • URLs and email addresses. A long URL is one unbroken token, so it counts as a single word in most tools — which flatters a text that is mostly links.
  • Standalone punctuation. A lone dash or bullet surrounded by spaces is a token containing no letters. Some counters count it.

The case that breaks naive counters completely

Chinese and Japanese are written without spaces between words. A whitespace splitter handed an entire Chinese paragraph returns one, because there is no whitespace to split on. This is not a small inaccuracy; it is a wrong answer by a factor of hundreds.

Properly segmenting these scripts into words needs a dictionary and is genuinely hard. The usual compromise is to count each character as one word, which is roughly how length is discussed in those languages anyway.

What Celveri counts

Since the rules are arbitrary, the honest thing is to state them. The word counter keeps hyphenated and apostrophised forms whole, so well-known and don’t are one word each. A token only counts if it contains a letter or a digit, so stray punctuation does not inflate the total. Each Han or kana character counts as one word, so a Japanese passage returns something meaningful instead of 1. Korean and Thai are not special-cased, because Hangul is normally spaced and Thai needs a dictionary to segment honestly.

The sentence count is an estimate and is labelled as one. A counter that splits on full stops reads high on anything containing Dr. or etc., and no amount of rule-writing fixes that completely.

What is included is a separate question

Before worrying about the definition of a word, check which words are in scope at all. This is usually the bigger discrepancy.

  • Headers and footers are normally excluded from a document’s reported count.
  • Footnotes, endnotes and text boxes are the usual culprit when a word processor and an online counter differ by a few hundred. Word processors vary in whether they include them, and some make it a setting.
  • Captions, tables and bibliographies are a question for whoever set the limit, not for the software. If an institution says 2,000 words, whether that includes the reference list is theirs to answer — and the answer is frequently not written down anywhere.

Pasting text into a separate counter has one real advantage here: whatever you pasted is unambiguously what was counted.

Characters are worse

“How many characters is this?” has at least four correct answers, and the gap between them is not a rounding error.

  • Graphemes — characters a reader perceives. One emoji is one character, however it is built.
  • Code points — Unicode scalar values. A flag is two; a family emoji is five.
  • UTF-16 code units — what JavaScript’s .length returns and what an HTML maxlength attribute typically enforces.
  • UTF-8 bytes — what most databases and byte-limited fields actually constrain.
TextGraphemesCode pointsUTF-16 unitsUTF-8 bytes
hello5555
café (one é)4445
café (e + accent)4556
😀1124
🇯🇵1248
👩‍👩‍👧15818

One visible character — a family emoji — is 1, 5, 8 or 18 depending on who is asking. A field advertising a 20-character limit may accept one of them or refuse it.

The two café rows are the same word, spelled the same way, looking identical on screen. In one, the é is a single Unicode character. In the other it is a plain efollowed by a combining accent. Text arriving from different systems can use either, which is why the same word can be counted differently with nothing visibly wrong.

Platform conventions that override all of this

Some platforms publish their own counting rule, and when they do, theirs is the only one that matters.

X (Twitter) uses a weighted length: Latin text and common punctuation weigh 1, while CJK characters and emoji weigh 2. So 280 is 280 for English and effectively 140 for Japanese. Links are stranger still — every URL is replaced by a shortened address and charged a flat 23 characters whatever its real length, so a post with a 200-character URL costs 23.

SMS has the sharpest cliff of any limit in everyday use. A message using only the GSM-7 alphabet gets 160 characters. A single character outside that alphabet — one emoji, or a curly quote pasted from a word processor — switches the whole message to UCS-2 and the allowance drops from 160 to 70. Longer messages are split, and splitting costs overhead, so the per-part allowance falls again to 153 or 67.

Databases usually limit bytes. A field declared for 100 characters may mean 100 bytes, which is 100 letters of English or about 33 of Japanese.

Search results are not character-limited at all. Google truncates titles and descriptions by pixel width, so a title full of capitals and wide letters is cut sooner than a narrow one of the same length. Any character figure for a meta description is a serviceable approximation and nothing more.

The character counter implements these rather than reporting one number and hoping: you can count by graphemes, UTF-16 units or UTF-8 bytes, switch to X’s weighted rule, and see how an SMS will actually be segmented and which encoding it fell into.

The rule that always works

Target comfortably under the limit. At 5% below, every convention agrees and you never have to find out which one the form used. The effort of discovering the exact rule is only worth it when you genuinely cannot cut another word.

If you are up against a limit

  1. Find out what the checker counts, if you can. A stated limit with no stated convention is incomplete, and asking is legitimate.
  2. Test with one submission if testing is free. Land just over your assumed limit and see whether it is accepted. One test beats repeated guessing.
  3. Count what you will actually submit. Not the draft with the title and notes still in it.
  4. Cut rather than optimise. Removing a sentence is more reliable than discovering a convention that lets you keep it.

A note on reading time

Reading time is a word count divided by an assumed speed, so it inherits every ambiguity above and adds one of its own. Celveri uses 238 words per minute for silent reading and 140 for speaking aloud, which are commonly cited averages. Individual readers vary enormously, and dense technical prose is slower than narrative at the same word count.

Treat it as a rough guide. For a presentation with a hard time slot, the only reliable method is to read it aloud with a timer — and if you need to get under a length rather than a time, the word counter shows words, characters with and without spaces, sentences and paragraphs together, which makes it easier to see where the cutting is available. For finding a shorter synonym to save a few characters, the word finder searches by length and pattern.

Tools that help with this

  • Word Counter

    Count the words in a passage as you type or paste it.

  • Character Counter

    Count characters against a limit for X, SMS, meta descriptions and more.

  • Word Finder

    Find words and anagrams from a set of letters, using the ENABLE dictionary.

All guides