How to Count Words Online: Whitespace Split
To count words online, paste the text into a browser tool that splits on whitespace. Docify trims the string, splits on one or more spaces, tabs, or line breaks, and reports characters, sentences, paragraphs, and Math.ceil(words / 200) minutes. Hyphenated twenty-one and CJK with no spaces such as 你好世界 are each one word. Characters are UTF-16 code units. Sentences split on ASCII [.!?]+ only: 你好。世界。 is 1 sentence, Hello with no terminator is 1, and ??? is 0. Paragraphs split on LF only: hello plus a lone CR plus world is 2 words and 1 paragraph. Nothing is uploaded.
Essays, captions, and drafts often have a word or character limit. You do not need a desktop app: the browser already has string length and a split method. The steps below use those, then point at the live word counter.
How to count words in three steps
Step 1: Copy the text you want measured
Copy from an editor, email, or notes. Docify counts everything in the box — there is no option to skip headings or footnotes — so paste only the span you care about.
Step 2: Paste into the word counter
Open the Docify word counter and paste. Counts update as you type. The page does not upload the text.
Step 3: Read the six totals
You get words, characters, characters without whitespace, sentences, paragraphs, and minutes to read. There is no average-word-length stat.
What each number means
Words
After trim, the string is split on /\s+/. Hyphenated forms such as twenty-one and contractions such as don't are one token because they contain no whitespace. CJK text with no spaces is one word. This is not the same tokenizer Microsoft Word or Google Docs use.
Characters
The full count is input.length. The no-spaces figure is that string with all whitespace removed. Both are UTF-16 code units, so some emoji and uncommon scripts count as two units.
Sentences and paragraphs
Sentences split on [.!?]+ (one or more ASCII periods, question marks, or exclamation points). Empty chunks are dropped, so Hello!!! is 1 sentence and ??? is 0. Hello with no terminator is 1. Abbreviations such as Dr. and decimals such as 3.14 increment the count. Ideographic 。 and fullwidth ? / ! do not split, so 你好。世界。 is 1 sentence. Paragraphs are non-empty blocks split on one or more LF characters (/\n+/), not CR. hello\nworld is 2 paragraphs. hello\rworld is 2 words and 1 paragraph. hello\r\nworld is 2 paragraphs because the LF splits and leftover CR is trimmed. Unicode line/paragraph separators U+2028 / U+2029 also split words but not paragraphs.
Reading time
Minutes are Math.ceil(words / 200). Empty text is 0. One word is 1 minute. See the reading-time guide for the formula and what the tool does not add.
When a browser count is enough
Draft limits
Essays and blog posts usually care about whitespace-delimited words. Use the same paste if a client or teacher will re-count in Word — the totals can differ slightly.
Character limits
Social posts and meta descriptions often cap characters. Docify shows length with and without whitespace. It does not apply a platform-specific remaining-count UI.
Count words in the browser
Whitespace-delimited words, string-length characters, and Math.ceil(words / 200) minutes. Nothing is uploaded.
Use Word Counter →FAQ
- Does Docify upload the text I paste into the word counter?
- No. Counts update in your browser as the textarea changes. The page does not send the text to a server.
- How does Docify decide what a word is?
- After trimming leading and trailing whitespace, the tool splits on one or more spaces, tabs, CR, LF, and other \s (JavaScript /\s+/). Consecutive spaces are one separator. An empty or all-whitespace box is 0 words. A lone CR is whitespace, so hello plus CR plus world is 2 words. Hyphenated forms such as twenty-one and contractions such as don't are one token. CJK text with no spaces, such as 你好世界, is one word. There is no language-specific tokenizer.
- How are characters, sentences, and paragraphs counted?
- Characters use the string length (JavaScript UTF-16 code units). The no-spaces figure removes all whitespace. Sentences are chunks split on one or more ASCII periods, question marks, or exclamation points ([.!?]+). Empty chunks are dropped, so Hello!!! is 1 sentence and ??? is 0. A string with no terminator, such as Hello, is 1 sentence. Abbreviations such as Dr. and decimals such as 3.14 increment the count. Ideographic 。 and fullwidth ? / ! do not split — 你好。世界。 is 1 sentence. Paragraphs are non-empty blocks split on one or more LF characters (/\n+/), not CR. hello plus LF plus world is 2 paragraphs. hello plus a lone CR plus world is 2 words and 1 paragraph. hello plus CRLF plus world is 2 paragraphs because the LF splits and leftover CR is trimmed. Unicode line/paragraph separators U+2028 / U+2029 also split words but not paragraphs.
- Does the counter exclude headings or footnotes?
- No. Everything in the box is counted. Paste only the body you want measured if you need to leave titles or notes out.