How to Count Characters, Words and Lines (and What Each Number Means)
The same passage rarely gets the same count in two places. Usually nobody is wrong: the definition of a character differs, and some counters include spaces, some count words, and some count UTF-16 code units.
Open the tool:Character Counter
When you actually need a count
A call for submissions says "under 1,000 characters", a journal abstract caps at 250 words, a CV summary at 300 characters. Translation is often quoted per thousand characters, so checking source and target before delivery keeps the invoice aligned with the client count. Ad copy has hard limits too.
The other reason is verifying that a paste survived. Chat boxes, form maxlength attributes and some admin fields truncate silently: the text looks fine but the tail is gone. Count the original and the pasted version; matching character counts are much faster proof than reading it all again.
- Hard limits on submissions, abstracts or CVs
- Checking volume before invoicing translation work
- Confirming a paste was not truncated
- Comparing how much changed between two drafts
How the four numbers are calculated
Characters are counted in UTF-16 code units, the same as JavaScript's string length: spaces, line breaks and punctuation each count as one, while emoji and some rare Han characters count as two. The CJK count only covers Han characters and the hiragana and katakana blocks, so punctuation and spaces are left out and the number is usually smaller.
The English word count replaces Han and kana characters with spaces, then splits on letters, digits and apostrophes. Hyphens break words, so state-of-the-art is four words while don't is one. Lines equal the number of line breaks plus one, which is why empty text still reports one line and one extra Enter adds another.
- Characters: spaces, breaks and punctuation included; emoji count as 2
- CJK: Han characters and kana only
- English words: hyphens split, apostrophes do not
- Lines: line breaks + 1, trailing blank line included
What it cannot count, and what to use instead
There is no UTF-8 byte count here, and no platform weighting. Some platforms always charge 23 characters for a link, others treat full-width and half-width differently, and those rules are local to each product. Chinese or Japanese word counts are also out of reach: those languages need a tokeniser, and splitting on spaces gives a handful of very long tokens.
For bytes, wc -c reports bytes and wc -m reports characters; the two agree on pure ASCII and diverge once Chinese text appears. Word's own word count accumulates words and CJK characters separately, so a difference from a browser counter is expected. Pick one method and compare like with like.
- Bytes: wc -c; characters: wc -m
- Platform-weighted limits: use that platform's counter
- Chinese or Japanese word counts: use a tokeniser
- Word counts: different method, do not mix
FAQ
Do spaces and line breaks count as characters?
Yes. The count is the string length, so spaces, tabs, line breaks and punctuation each count as one. If a platform asks for a count without spaces, subtract the number of spaces or strip them before counting, rather than cutting content against the wrong rule.
Why does one emoji count as two characters?
Because counting happens in UTF-16 code units, and most emoji sit above U+FFFF, so they need a surrogate pair. Some rare Han characters behave the same way. If a platform counts Unicode code points instead, recount those characters as one each.
What is the most accurate Chinese character count?
Use the CJK line, which counts Han characters one by one without punctuation or spaces and is close to how Chinese platforms measure length. Some platforms include punctuation in the total, so check against their own preview before submitting.
Related tool:Character Counter