Writing

Why Word Counters Disagree, and How Long Your Writing Should Be

Here is a sentence: "A well-known state-of-the-art tool". Count its words by splitting on spaces and you get 4. Split on anything that is not a letter or digit, and you get 8. Both answers come from reasonable programs, and neither is a bug. If you have ever pasted the same essay into two counters and got numbers that differ by 40 or 50, this is why.

A word count is not a fact about a text. It is the result of a rule, and the rule changes with the tool. That matters when a form says "maximum 500 words" and the page that receives it counts differently from the app you wrote it in.

Six strings, counted two ways

I ran six short strings through two simple rules in Python. Rule A splits on whitespace, which is what most people mean by a word: anything between spaces. Rule B counts runs of "word characters" (Python's \w+: letters, digits and underscore), so punctuation, slashes, hyphens and apostrophes all break words apart. Both are common starting points in code, so you will find real tools that behave like each of them.

TextRule A (spaces)Rule B (letters and digits)
A well-known state-of-the-art tool48
Paid Rs 1,25,000 on 26/10/2026 at 9:30712
Visit https://hukhlatri.in/tools/word-counter.html now39
Don't can't it's36
Wait--what? He left -- quickly55
मेरा नाम राहुल है और मैं दिल्ली में रहता हूँ1016

The spread is large. A short text full of numbers and links can come out with nearly twice as many "words" under one rule as under the other. Look at the fifth row too: both rules give 5, but for opposite reasons. Rule A glues "Wait--what?" into one word and counts the lone "--" as a word. Rule B splits "Wait" and "what" and ignores the dashes. Matching totals do not mean matching logic.

Hyphens, numbers and URLs

Hyphenated compounds. "Well-known" reads as one word to most people. A counter that splits on hyphens counts two. In a 1,000-word piece with thirty compounds, the swing is thirty words, which is 3%. That is not much until you are trying to hit a hard limit.

Numbers. "₹1,25,000" is one number to a human. Rule B sees three fragments, because it treats each comma as a break, so Indian digit grouping makes the effect bigger than it would be with western grouping. A date written 26/10/2026 turns into three. Rule A gets both right.

URLs. A link is one word to Rule A and nine to Rule B. If you quote long links, your count depends heavily on which rule your tool uses.

Dashes. A spaced dash is a word to Rule A. If you write with dashes between spaces, you may be adding words to the count that are not words. Closed-up dashes (the "Wait--what" style) go the other way and swallow a word.

My position: for deadlines, trust the counter that the receiving system uses, and if you cannot see it, count by spaces. That is the simplest definition, it is what a person doing the count by hand would reach, and it is the least likely to inflate your total. I have not checked how each word processor or web form handles every case above, so paste your own text into the one that matters and compare.

Hindi and other scripts

The last row of the table is worth a second look. The Hindi sentence has ten words. Rule B, written the way a typical English-minded programmer would write it in Python, reports sixteen, and the reason is Unicode. Devanagari uses vowel signs and other combining marks that attach to a consonant. Python's pattern for "word characters" does not treat many of those marks as word characters, so a word such as दिल्ली gets cut at the vowel signs. It is not an error in your text. It is a program that was written for Latin letters meeting a script it was not tested on.

Character counts have a similar problem. The ten-word sentence above is 44 Unicode code points, but 114 bytes when stored as UTF-8. And "दिल्ली", which you read as one unit of two or three syllables, is six code points: a consonant, a vowel sign, a consonant, a virama, another consonant, another vowel sign. A counter that counts code points reports 6; one that counts what you see on screen might report fewer. Emoji do this too. "👍🏽" is a single image and is 2 code points, and the family emoji "👨‍👩‍👧" is 5.

If you write in Hindi or any script with combining marks, whitespace counting is the dependable choice for words. For characters, ask what the destination counts. A limit that measures bytes will use up far faster on Devanagari than on English: 44 characters cost 114 bytes in that sentence, about 2.6 bytes each.

Platform limits worth checking before you write

Some limits are in characters, not words. As listed in Buffer's help centre when I checked, a post on X is 280 characters for free accounts (longer accounts have a higher cap), an Instagram caption is 2,200, and a LinkedIn post is 3,000. Those numbers change, and platforms count some things, such as links, by their own rules, so treat these as a starting point and test in the app itself.

For university statements of purpose, scholarship essays and job forms, I would not give you a number. Limits differ by university and by form, and some are in words while others are in characters, so the form in front of you is the only reliable source. If it gives a range, aim inside it. If it gives only a maximum, write to roughly 90-95% of it rather than hitting it exactly, because a different counter at the other end may push you over.

How long common pieces tend to run

These are my working guides, not rules from any body, and the right length is the one that finishes the job.

  • A work email asking for something: 80 to 200 words. If it needs more, it probably needs a call.
  • A cover letter: 250 to 400 words, about three or four short paragraphs.
  • A LinkedIn post: 100 to 250 words, well below the platform limit.
  • A blog post with real substance: 1,000 to 1,500 words. Shorter is fine if the point is small; padding to a target is the common failure.
  • A school essay: whatever the teacher set. Under the limit by a little is better than over.

Reading time and speaking time, with the arithmetic

Studies of silent reading, pooled in a 2019 meta-analysis by Brysbaert, put adults at around 238 words a minute for non-fiction. A presentation is slower, because you pause, breathe and change slides. I use 150 words a minute for speaking, inside the 130 to 160 range usually quoted for presentations. Divide the word count by the speed.

WordsReading at 238 wpmSpeaking at 150 wpm
500500 / 238 = 2.1 min500 / 150 = 3.3 min
1,0001,000 / 238 = 4.2 min1,000 / 150 = 6.7 min
1,5001,500 / 238 = 6.3 min1,500 / 150 = 10 min
3,0003,000 / 238 = 12.6 min3,000 / 150 = 20 min

Going the other way is more useful if you have a slot. A 5-minute talk is 5 × 150 = 750 words, and that includes any words you read from slides. A 10-minute talk is 1,500. If you will spend part of the time on a demo or a question, cut the script by that share first. Reading time on a page is rounded to the nearest minute, so a 1,200-word post (1,200 / 238 = 5.04) shows as 5 minutes.

The honest limit is that 238 is an average. Dense material with figures and tables is read more slowly, and people skim web pages faster than they read books. Treat the figure as a planning number, and test your own speaking pace by timing a 150-word paragraph aloud.

Use the word counter for the count and the time estimates, then compare it against the destination's own count before you submit. For checking the percentage of a limit that you have used, the percentage guide shows the base-versus-part mistakes to avoid.

This article is general information, not financial, medical or legal advice. See the disclaimer. Spotted a mistake? Email hello@hukhlatri.in and we will check and correct it.

Keep reading