Word & Character Counter
Words, characters, sentences and reading time, plus the post limits that bite
Will it fit
As a text message
How hard it is to read
- Twenty words or so and these appear.
Words you lean on
- Nothing yet.
What each limit counts
280Latin, Cyrillic and Greek count as one; CJK and emoji count as two300500The default. Servers can raise it2,2003,0003001005,00060Google truncates by pixel width, so this is a rule of thumb, not a limit160Also truncated by width, and often rewritten by Google anywayCounting words looks like the simplest thing a tool could do, and it is the question with the most answers. Word processors, character limits and byte fields all count differently, and the gap between them is why a message that visibly fits gets rejected.
A character is four different things
"👨👩👧 café"
5 what you see grapheme clusters
5 Unicode characters code points
7 what .length returns UTF-16 units
16 what a byte field UTF-8 bytes
measures
One string, four correct answers. Which one is right
depends entirely on what is doing the counting.A grapheme cluster is what a person means by a character: a letter with its accent, a family emoji built from five code points joined by invisible glue, a flag made of two regional indicators. It is the number shown in the headline above, because it is the one that matches what is on the screen.
A code point is what Unicode calls a character, and it is what most languages count when you ask for a length. AUTF-16 unit is what JavaScript's .lengthreturns, which counts anything above U+FFFF twice, so an emoji is two.UTF-8 bytes is what a database column with a byte limit measures, where a British pound sign is two bytes and an emoji is four.
All four are shown, because different destinations count differently and the only way to know whether something fits is to count the way that destination does.
Words, and where the boundaries are
Splitting on spaces is what a word processor does, and it works for English and gives a count of one for a whole page of Japanese. The default here uses the Unicode segmentation rules, which know where words end in scripts that do not put spaces between them.
The two disagree on hyphens: state-of-the-art is one word to a space-splitter and four to the segmenter. Neither is wrong, and if you need the number your editor is expecting, switch to splitting on spaces.
Reading time
238 words a minute is the default here, taken from the median in a 2019 meta-analysis of silent reading in English. The round numbers that get quoted more often, 200 and 250 and 300, are guesses that got repeated until they started sounding like data. Reading aloud defaults to 150, which is a measured speaking pace and slower than most people expect.
Both are adjustable, because a technical document is read slower than a newsletter, and because the number only means something relative to itself.
Text messages, which are stranger than they look
Meet at 3 9 of 160, one message
Meet at 3 😀 11 of 70, one message
[a 100-character message] 100 of 160, one message
[the same, with one emoji] 102 of 70, two messages
One character outside the seven-bit alphabet and the
limit drops from 160 to 70 for the whole thing.A text message uses a seven-bit alphabet called GSM 03.38, which holds 160 characters and covers English, most Western European accents, and a handful of Greek capitals. Put one character outside it into a message, say a curly apostrophe pasted out of a word processor, or an emoji, or a Cyrillic letter, and the whole thing gets re-encoded in sixteen bits. The limit drops from 160 to 70.
This is the single most common surprise on a bulk-messaging bill. The character forcing the switch is named above when it happens, and it is usually a smart quote that nobody meant to type.
Longer messages are split and reassembled by the handset. Each part gives up seven characters to the header saying which part it is, so the limits become 153 and 67, not 160 and 70.
Readability scores
Flesch reading ease 100 easy, 0 impenetrable
Flesch-Kincaid grade a US school year
Gunning fog a US school year
SMOG a US school year
Coleman-Liau a US school year
Automated readability a US school year
Five of the six answer the same question and disagree
by two or three years, which is roughly how precise
any of them are.All six count sentences, words and syllables and multiply by constants fitted to a particular corpus decades ago. They are genuinely useful for comparison: whether an edit made a paragraph lighter, or which of two drafts is heavier going. They are not useful as a target, because every one of them can be satisfied by cutting sentences in half without changing a word.
Syllables come from a vowel-group heuristic, the same one every tool without a pronunciation dictionary does. It is wrong on a fair number of words. It reads "extraordinary" as five syllables when it is six. But it is wrong in a way that mostly cancels out over a paragraph. Below about twenty words the scores are withheld altogether, because a single short sentence full of long words reads as postgraduate on every scale.
SMOG deserves its own caveat: it was designed to be applied to a sample of thirty sentences and it reads high on anything shorter, so treat it as the optimistic one until there is a page of text to feed it.
Word frequency
Worth looking at for one reason: noticing that a page says "solution" nine times. Not worth writing towards. Keyword density as a target stopped working around 2005, and text written to hit a percentage reads exactly like text written to hit a percentage.
Phrases containing common words are dropped by default, since otherwise the list is "the", "and", "of" every time. Turning that off is worth doing occasionally, because "will" appearing forty times in a page is the sort of thing that only shows up in a count.
Nothing leaves the page
All of this runs in your browser. The text is never sent anywhere, which matters more here than on most tools, because what people paste into a word counter is usually a draft of something they have not published yet.