MiServe DevTools

Your lid

Pin tools here. They are saved in this browser.

Word & Character Counter

Count the characters, words, sentences, paragraphs, lines and bytes of a text, with its reading time and its most frequent words.

Characters
0
Characters without spaces
0
Words
0
Different words
0
Sentences
0
Paragraphs
0
Lines
0
Bytes in UTF-8
0
Bytes in UTF-16
0

Most frequent words
#WordCountShare of all words

There are no words to count yet.

Runs in your browser. Nothing you paste is uploaded.

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.

Questions

Do spaces count as characters?

Yes, in the Characters figure every space, tab and line break counts as one character. The figure labelled Characters without spaces leaves all white space out.

Why does another tool give a different word count?

Word counters differ on details: whether a hyphenated word is one word or two, whether numbers and email addresses count, and how they treat languages written without spaces. This tool uses the word boundaries defined by Unicode, as implemented by your browser.

How are Chinese and Japanese texts counted?

The browser splits them into words with its built-in language data, usually a dictionary, since these languages do not put spaces between words. The result is an estimate, and two browsers can split the same sentence differently, so for these languages the character count is the more dependable measure.

Is my text stored or sent anywhere?

No. Everything is counted by JavaScript in your browser tab. The text is not saved. The tool makes no network request with it. Only the reading speed you choose is remembered in this browser.

More in Text