About this tool
What counts as a character
The character count is the number of grapheme clusters: the units a reader sees as one character, as defined by the Unicode text segmentation rules. An “é” typed as the letter e followed by a combining accent counts once. So does an emoji built from several code points: the family emoji 👨👩👧👦 is one character, although it is 7 code points, 11 UTF-16 code units and 25 bytes in UTF-8.
That is why this number can differ from string.length in JavaScript, which counts UTF-16 code units, and from the length a database reports, which may be in bytes or in code points depending on the function and the column type. When a form or an API states a limit, check which of these units it means. Characters without spaces leaves out spaces, tabs, line breaks and other white space.
How words, sentences and paragraphs are found
Characters, words and sentences come from your browser's Intl.Segmenter, created for the language of the page. It follows the Unicode rules for word and sentence boundaries, and for languages written without spaces between words, such as Japanese, Chinese and Thai, it relies on language data built into the browser, usually a dictionary. A number such as 3.14 is one word and so is “don't”, while a hyphenated compound such as “well-known” counts as two.
Sentence boundaries are a judgement: an abbreviation with a full stop can be read as the end of a sentence, and a line break always ends one, so a heading counts as a sentence. Treat that number as an estimate. A paragraph is a line that contains text, which matches text pasted from a word processor. Lines counts every line, including the empty ones. The frequency table lists the ten most frequent words. They are compared without regard to case, and common words such as “the” are not filtered out.
Bytes and reading time
UTF-8 uses one byte for ASCII, two for most accented Latin, Greek and Cyrillic letters, three for most Chinese, Japanese and Korean characters and four for most emoji. UTF-16 uses two bytes for most characters and four for those outside the Basic Multilingual Plane, which includes most emoji. The byte counts are for the text alone, without a byte order mark. A browser text field keeps every line break as a single line feed (LF), so text copied from a file with Windows line endings (CR LF) is counted with one character per line break, and its byte counts come out smaller than the size of that file.
Reading time is the word count divided by the reading speed. The default of 200 words per minute is a common round figure for silent reading; a 2019 review of reading-rate studies by Marc Brysbaert put the average for adults reading English at 238 words per minute for non-fiction and 260 for fiction. Change the speed to suit your readers, and lower it for a text that will be read aloud, because speech is slower than silent reading.