Text and writing tool

Word Counter

Count words, characters, sentences, paragraphs, and estimated reading time as you type. Your text stays in your browser.

Counts update as you write. Your text stays in this browser.

How to use the Word Counter

Live counting and Clear

Type or paste text into the input field and all six metrics update on each keystroke without a submit button. Clear removes the text, resets every metric to zero, and returns focus to the input field.

Worked counting example

Hello world!

This is 247 Tools.

This example produces: Words 6; Characters 32; No spaces 26; Sentences 2; Paragraphs 2; Reading time 1 minute. The blank line between the two lines creates two paragraphs, and six words divided by 200 words per minute, rounded up, gives one minute.

What each metric means

Words

The text is trimmed, then split on Unicode whitespace. Each non-whitespace token counts as a word, including a token made only of punctuation. Empty or whitespace-only input counts as zero words.

Characters and No spaces

Characters uses Array.from(text).length, so it counts Unicode code points rather than UTF-16 code units. This is not a grapheme or user-perceived-character count; a combining sequence can occupy multiple code points. No spaces removes every JavaScript \s character (spaces, tabs, and line breaks), then counts the remaining code points.

Sentences

This is an estimate based on nonempty fragments delimited by a period ., exclamation mark !, or question mark ?. A final fragment without terminal punctuation still counts as a sentence. Abbreviations and punctuation patterns can change the count, so never treat it as linguistically exact.

Paragraphs

Nonempty text blocks separated by a blank line (matching \n\s*\n) count as paragraphs. A visual line wrap caused by the editor or display width is not a paragraph break.

Reading time

The reading time is estimated as Math.ceil(words / 200) minutes, with zero for empty input. Two hundred words per minute is the tool's fixed estimate baseline; it is not a promise about any individual reader's pace.

Accuracy and practical limits

Whitespace, punctuation, and Unicode

Whitespace defines word boundaries and blank-line paragraph boundaries. Periods, exclamation marks, and question marks drive sentence fragment detection. Unicode code points drive both character totals and the sentence fragment regex. This approach does not imply linguistic tokenization, grapheme segmentation, or input restricted to prose.

Browser-dependent limits

The tool imposes no hard input limit, but counting happens in your browser's memory on every keystroke. Very large pasted text may be slow or fail depending on your browser and device. The tool makes no fixed-maximum, upload-handling, or arbitrary-large-file-performance promise.

Private, browser-based text counting

Your text is counted in this browser as you type. It is not uploaded or sent to a 247 Tools server, and the counter does not save a text or metric history. Clear removes the current text and resets all six metrics on the page.

Related tools