How to use Word & Character Counter
What it does & when you need it
You have a piece of writing and a limit to hit: a meta description that must land between 140 and 160 characters, an abstract capped at 250 words, a changelog entry, or a social post. This tool counts the words, characters (with and without spaces), sentences, paragraphs, and lines in your text, and estimates how long it takes to read — updating live as you type. Everything runs in your browser, so a draft of an unpublished post or an internal document never leaves your machine.
Paste the text once and read every metric at a glance, then copy a plain-text summary to drop into a ticket or a review.
How to use
- Type or paste your text into the text buffer, press Sample to load an
example paragraph, or Upload a
.txtor.mdfile. - The stat tiles and the input status bar update on every keystroke — no button press needed. Watch the character count while you trim toward a limit.
- Read the full breakdown in the summary.txt panel below, then press
Copy summary (or
Ctrl/Cmd+Enter) to grab it, or use Copy on the panel. Press Clear to start over.
Things worth knowing
"Characters" depends on the unit you count in. JavaScript's String.length
counts UTF-16 code units, so the grinning-face emoji 😀 is two and a musical
symbol can be two as well. This tool counts by Unicode code point (it iterates the
string with [...text]), so that emoji counts as one — which is almost always
what a person means by "one character". Note that a code point still is not the
same as a grapheme: an emoji with a skin-tone modifier, or a flag built from two
regional-indicator symbols, is several code points that render as one glyph. The
Unicode standard's text-segmentation rules (Annex UAX #29) define those boundaries
if you need to go deeper.
Reading time assumes about 200 words per minute. That is a reasonable average for adult silent reading of general prose, and the estimate rounds up to the next whole minute. Dense technical writing, code samples, or a second language will be slower, so treat the figure as a floor rather than a promise.
Platform limits are not naive character counts. Twitter/X measures posts in weighted code points, where most Latin characters count as 1 but CJK ranges count as 2, and it counts every URL as a fixed length regardless of the real one. SMS is stranger still: a message encoded in GSM-7 (see 3GPP TS 23.038) fits 160 characters per segment, but the moment you include one character outside that alphabet — an emoji, or a curly quote — the whole message switches to UTF-16 and the limit drops to 70 per segment. So the number here is a good general count, not a substitute for a specific platform's own counter.
Word counting by whitespace is an approximation. Splitting on spaces treats a hyphenated term like "state-of-the-art" as one word, which may over- or under-count depending on your style guide, and it badly under-counts languages such as Chinese, Japanese, and Thai that do not put spaces between words. For Latin-script prose the whitespace count matches what editors report closely enough; for CJK text, character count is the more meaningful metric.
Once your text is measured, you might convert its case before publishing, sort a list of lines alphabetically, or diff two drafts to see exactly what changed between them.