How to count characters and words
Paste your text into the Text Toolkit. The statistics panel updates as you type and reports characters, characters excluding spaces, words, sentences, lines and paragraphs.
The character count is the one worth understanding. This tool counts grapheme clusters — what a person would call one character — so the emoji built from a woman, a joiner and a laptop counts as 1. Many tools count UTF-16 code units and report 5 for the same emoji. Neither is wrong; they measure different things.
Last reviewed: 2026-09-19. Checked against the tool’s own source on that date.
Three different things called "a character"
For English text with no accents or emoji, all three agree exactly, which is why the difference goes unnoticed until it matters. They diverge on emoji, on flags, on accented characters written with combining marks, and on many non-Latin scripts.
The practical consequence: if you are counting against a limit enforced somewhere else — a database column, an SMS gateway, a form validator, a social platform — that system may count differently from this one. The honest way to check a hard limit is the destination’s own counter.
- A grapheme cluster: what you see. One emoji, one accented letter, one Devanagari syllable. This is what the Text Toolkit reports.
- A code point: one Unicode value. An emoji made of three symbols plus joiners is several code points.
- A code unit: one 16-bit slot in the way JavaScript stores strings. This is what a naive counter reports, and it is the largest of the three numbers.
How words and sentences are counted here
Words are runs of non-whitespace separated by whitespace, after trimming. That is the definition nearly every word counter uses, and it has known edge cases: a hyphenated compound counts as one word, an em dash with no spaces around it glues two words into one, and a numbered list item counts its number.
Sentences are counted by terminating punctuation — full stop, question mark, exclamation mark, and their full-width CJK equivalents. Abbreviations inflate the count, so "Dr. Smith arrived." reads as two sentences. No counter solves this without a dictionary, and a tool that pretended otherwise would just be wrong less visibly.
Lines are counted by line breaks, handling Windows, Unix and classic Mac endings. Paragraphs are runs of text separated by a blank line.
Counting for a platform limit
Platform limits change, and they are enforced by the platform rather than by any counter you use beforehand. Rather than repeat numbers here that may be stale by the time you read this, the useful advice is about METHOD.
Write in the tool, count there to get within range, and paste into the platform to confirm against its own counter before posting. The gap between the two numbers, if any, tells you how that platform counts — and once you know that for the one platform you post to, you know it.
Two specifics that catch people regardless of platform. A URL is often counted as a fixed length rather than its real length, so a long link may cost less than it looks. And an emoji can cost anywhere from one to a dozen depending on the counting rule, which is why a post that fits in the editor sometimes will not fit in the box.
Tidying before you count
- Trim lines, to remove leading and trailing whitespace that inflates the character count.
- Remove empty lines if you are counting a list rather than prose.
- Remove duplicates if the same entry appears more than once and you are counting distinct items.
- Read the line count for a list, or the word count for prose. Counting the wrong statistic is a more common mistake than counting it wrongly.
Worked example: why one line reports 14 characters and 20 elsewhere
Take the line: Ship it 🚀 today — where the rocket is a single emoji and the rest is plain ASCII.
Counting by eye: S-h-i-p, space, i-t, space, rocket, space, t-o-d-a-y. Fourteen things a person would point at.
The Text Toolkit reports 14 characters, 4 words, 1 line. A counter measuring UTF-16 code units reports 15, because the rocket occupies two slots.
Now swap the rocket for a family emoji built from four people joined by invisible joiners. The visible count is still 14. The code-unit count jumps to around 24, because that single picture is eleven code units.
Result: Same visible text, two counts ten apart, and neither tool is broken. If a form rejects your text while your counter says it fits, this is almost always why — and the fix is to check against the destination, not to argue with the counter.
Open the tool
Count text in the Text Toolkit
Counts grapheme clusters, words, sentences, lines and paragraphs as you type. Nothing is stored and nothing is sent anywhere.
What this does not cover
- Word counting is whitespace-based, so hyphenated compounds count as one word and an unspaced em dash joins two.
- Sentence counting is punctuation-based and is inflated by abbreviations.
- Grapheme counting uses the browser’s own segmenter where available, so results can differ very slightly between old and new browsers for exotic scripts.
- There is no reading-time estimate, no keyword density and no readability score in this tool.
- Processing runs on the main thread, so a very large document may pause briefly.
- This tool cannot tell you any platform’s current limit, and does not try.