Same essay, different word count: we tested 7 word counters
We ran one IELTS Writing Task 1 answer through seven common word counters. The results ranged from 154 to 166 words. On a task with a 150-word minimum, that 12-word gap is the difference between feeling safe and being short.
The headline result
The test text is an original Task 1 answer describing a fictional chart of passengers on the Port Velmoor ferry and a coastal rail link. It uses the kind of writing candidates really produce: number ranges, percentages, a dash, a slash and a few hyphenated words.
| Counter | Words |
|---|---|
| Microsoft Word | 157 |
| wordcounter.net | 154 |
| Python split() | 154 |
| GNU wc -w | 154 |
| JS split(/\s+/) | 154 |
| ICU word segmenter | 161 |
| Regex \b\w+\b | 166 |
Four of the seven counters agree on 154, Microsoft Word says 157, and the two counters that split words at hyphens and punctuation say 161 and 166. If you practise with one counter and assume it matches how your answer is counted on test day, you may be off by several words in either direction.
Where the counters disagree
To find the cause, we tested 29 short phrases, each built around one tricky feature. Shaded cells differ from the most common result in that row.
| Text | Microsoft Word | wordcounter.net | Python split() | GNU wc -w | JS split(/\s+/) | ICU word segmenter | Regex \b\w+\b |
|---|---|---|---|---|---|---|---|
| Hyphens and dashes | |||||||
a well-known problem | 3 | 3 | 3 | 3 | 3 | 4 | 4 |
self-driving cars cause long-term change | 5 | 5 | 5 | 5 | 5 | 7 | 7 |
between 2010-2020 sales rose | 4 | 4 | 4 | 4 | 4 | 5 | 5 |
between 2010–2020 sales rose | 5 | 5 | 4 | 4 | 4 | 5 | 5 |
prices rose—sharply—in May | 5 | 5 | 3 | 3 | 3 | 5 | 5 |
prices rose — sharply — in May | 5 | 5 | 7 | 7 | 7 | 5 | 5 |
prices rose - sharply - in May | 7 | 5 | 7 | 7 | 7 | 5 | 5 |
| Apostrophes | |||||||
they don't agree | 3 | 3 | 3 | 3 | 3 | 3 | 4 |
they don’t agree | 3 | 3 | 3 | 3 | 3 | 3 | 4 |
the students' results | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
| Numbers and symbols | |||||||
rose by 20% overall | 4 | 4 | 4 | 4 | 4 | 4 | 4 |
rose by 20 % overall | 5 | 4 | 5 | 5 | 5 | 4 | 4 |
rose by 20 per cent overall | 6 | 6 | 6 | 6 | 6 | 6 | 6 |
about 1,500 people | 3 | 3 | 3 | 3 | 3 | 3 | 4 |
about 3.5 million people | 4 | 4 | 4 | 4 | 4 | 4 | 5 |
it cost £20 in total | 5 | 5 | 5 | 5 | 5 | 5 | 5 |
it cost $1.5 billion in total | 6 | 6 | 6 | 6 | 6 | 6 | 7 |
a 19th-century building | 3 | 3 | 3 | 3 | 3 | 4 | 4 |
a 5km walk | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
at 10am daily | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
at 10 a.m. daily | 4 | 4 | 4 | 4 | 4 | 4 | 5 |
| Abbreviations and slashes | |||||||
for example, e.g. cars | 4 | 4 | 4 | 4 | 4 | 4 | 5 |
in the U.K. today | 4 | 4 | 4 | 4 | 4 | 4 | 5 |
parents and/or teachers | 3 | 4 | 3 | 3 | 3 | 4 | 4 |
parents and / or teachers | 5 | 4 | 5 | 5 | 5 | 4 | 4 |
| Punctuation | |||||||
However... it changed | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
most (around 60%) agreed | 4 | 4 | 4 | 4 | 4 | 4 | 4 |
so-called “smart” homes | 3 | 3 | 3 | 3 | 3 | 4 | 4 |
1. Introduction | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
What drives the differences
- Hyphens. Word, wordcounter.net and the whitespace-based counters treat
well-knownand19th-centuryas one word. The ICU segmenter and the\b\w+\bregex, a pattern often used in quick scripts and simple online tools, split them into two. A Task 2 essay with ten hyphenated words can gain ten words in these counters. - Dashes without spaces.
rose—sharply—inis one token to any counter that only splits on spaces, so it counts as 3 words instead of 5. Word and wordcounter.net split at the em dash. Microsoft Word also splits at an en dash (2010–2020= 2 words) but not at a hyphen (2010-2020= 1 word). - Dashes, slashes and symbols with spaces. Whitespace-based counters count a free-standing
-,—,/or%as a word. Microsoft Word ignores a spaced em dash but counts a spaced hyphen, slash or percent sign. wordcounter.net and the ICU segmenter ignore all of them. - Apostrophes, decimals and abbreviations. Almost every counter treats
don't,1,500,3.5ande.g.as one word. The simple regex splits each of them, which is why it gives the highest total.
What this means for IELTS candidates
- Do not aim for exactly 150 or 250. Your counter and the person counting your answer may not agree. Practise writing at least 10–15 words over the minimum.
- Know your counter. If you practise in a tool that splits hyphens or counts free-standing symbols, your real total may be lower than you think.
- Write numbers and symbols the normal way.
20%, not20 %. A space before a symbol changes the count in some tools and is not standard English style either. - Check official guidance. We could not find detailed official IELTS rules for counting hyphenated words, contractions or symbols. Advice on test-prep sites varies, so check the latest official IELTS materials rather than relying on any single counter.
The test text
The line graph compares the number of passengers who used the Port Velmoor ferry and the coastal rail link between 2010–2020, measured in weekly journeys.
Overall, the ferry lost ground to the train, although both services carried far more people at the end of the decade than at the start.
In 2010, around 1,500 passengers took the ferry each week, almost double the figure for the train (roughly 800). Over the next five years, ferry use rose steadily—by about 20%—while rail numbers stayed flat. However... the picture changed after 2015, when a new high-speed service opened. Train journeys more than quadrupled to 3.5 thousand by 2020, overtaking the ferry, whose weekly total fell to 1,200 as ticket prices rose to £20.
Interestingly, the students' discount, which halved fares for under-25s, didn't stop the ferry's decline. By the end of the period, commuters and/or tourists clearly preferred the faster, cheaper 19th-century route along the coast.
Method
- Microsoft Word 16.0 build 16.0.16924, desktop, Windows. Counted with the built-in word statistic (
ComputeStatistics, the same figure shown in the status bar). - wordcounter.net, counted in the browser on 2026-11-03.
- Python 3.13.5:
len(text.split()). - GNU coreutils
wc -w8.32, UTF-8 locale. - JavaScript (Node.js v22.17.1):
text.trim().split(/\s+/).length, a pattern used by many browser-based counters. - ICU word segmenter 77.1, through
Intl.Segmenterwith word granularity, counting word-like segments. This is the text segmentation engine built into modern browsers. - Regex
/\b\w+\b/gin JavaScript.
All tools received identical UTF-8 text. Online tools and software change, so your results may differ if you repeat the test with other versions.