Count characters, words, lines, and UTF-8 bytes in a text locally.
Loading tool
About Text Statistics
Counts characters, characters without spaces, words, unique words, lines, sentences, paragraphs and UTF-8 bytes as you type. Character counts are Unicode-aware, so an emoji or accented letter counts as one character, and the UTF-16 length is shown when it differs. It also estimates reading time at an adjustable words-per-minute rate (230 by default) and speaking time at 130 wpm, and lists the ten most frequent words with an option to skip common stop words.
Common uses
- Check a meta description, tweet or commit message against a length limit
- Measure the UTF-8 byte size of text stored in a size-limited database column
- Estimate reading time for a blog post or documentation page
- Spot overused words in a draft
FAQ
- Why does the character count differ from string.length in JavaScript?
- JavaScript's length counts UTF-16 code units, so an emoji can count as 2 or more. This tool counts user-perceived characters (grapheme clusters) and shows the UTF-16 unit count separately when they differ.
- How is reading time calculated?
- Word count divided by reading speed. The default is 230 words per minute, a typical adult silent reading rate, and you can change it.
- How are sentences counted?
- Text is split after ., !, ? or an ellipsis followed by whitespace, and at blank lines. Abbreviations like 'e.g.' can therefore add extra sentences, so treat it as an approximation.