toolbench.onlineby Valkyron Labs

Text

Word Counter

See how long a draft really is before you send it, with words, characters, sentences, paragraphs, and a reading-time estimate that updates as you paste.

Word Counter

Count words, characters, sentences, paragraphs, and reading time.

Text statistics

Words: 0
Characters: 0
Characters (no spaces): 0
Sentences: 0
Paragraphs: 0
Lines: 0
Estimated reading time: 0.00 minute(s)

Output actions

Ready to copy output once your result appears.

Seven lines, updated on every keystroke

Word Counter fills Text statistics from the paste in Text to analyze. There is no Run button. The block lists words, characters, characters without spaces, sentences, paragraphs, lines, and an estimated reading time. The time is the word count divided by 200, printed to two decimal places as minute(s). Copy output copies those seven lines. Download output is not on this page.

How to count a draft

  1. 1Paste or type into Text to analyze. The placeholder is Paste or type text. The box starts empty, and an empty box already prints zeros, including Estimated reading time: 0.00 minute(s).
  2. 2Read Text statistics. Each change replaces all seven lines. There is no locale menu, no reading-speed field, and no checkbox that changes how a word or a sentence is split.
  3. 3Press Copy output for the seven lines. A spaces-only paste is not the empty box: the word, sentence, and paragraph lines stay at 0, while Characters follows the spaces and Lines is 1.

What it is good for

  • • Checking a draft against a word limit and a character limit in the same glance.
  • • Seeing that 10.50 did not open a sentence, while the period in Mr. did.
  • • Reading a time that stays a fraction of a minute instead of jumping to a whole minute.

Example

Input

Hello world. This is a second sentence.

Next paragraph.

Output

Words: 9
Characters: 56
Characters (no spaces): 47
Sentences: 3
Paragraphs: 2
Lines: 3
Estimated reading time: 0.04 minute(s)

The blank line between the second sentence and Next paragraph is a paragraph break and also a line of its own, so Lines is 3 while Paragraphs is 2. Nine words divided by 200 prints as 0.04, not as 1 minute.

What the seven lines count

Words are the pieces left after the box is trimmed and split on whitespace. An empty box, or a box that trims to nothing, is 0 words. An apostrophe does not split a word, so don't is one word. A hyphen does not split a word either, so well-known is one word. There is no dictionary and no stop-word list. Characters is the JavaScript length of the box, which counts UTF-16 code units and includes spaces and line breaks. Characters (no spaces) deletes every whitespace character, including those breaks, and counts what remains.

An emoji that needs a surrogate pair takes two of those code units. Hi followed by a space and 😀 is Words: 2, Characters: 5, and Characters (no spaces): 4. A character inside the basic multilingual plane, such as é, is one. This page never reports UTF-8 bytes. Storage size, including a cookie budget, is the byte size calculator. Changing the spelling of the draft is the case converter, which prints five case forms and does not count them.

The text box and Copy output

Text to analyze is one field. Nothing is debounced: the seven lines match the box as soon as the page has painted the change. Clearing the box returns the zeros, including 0.00 minute(s). Copy output copies the labeled lines, not a single integer. There is no button that copies only the word count. The labels are fixed, including the parentheses in Characters (no spaces) and the word minute(s) even when the figure is above 1.

Lines and paragraphs answer different questions. Lines splits the raw box on \n or \r\n and, when the box is not empty, counts every piece, including an empty piece after a trailing break. The paste a, a break, b, and a final break is Words: 2 and Lines: 3. Paragraphs trims first, then splits only where a break is followed by optional whitespace and another break, and drops pieces that trim to nothing. A single break stays inside one paragraph. The sample's blank line is why Paragraphs is 2.

When this tally is the one you want

Use this page when the limit is words, characters, sentences, paragraphs, lines, or a 200-word-per-minute estimate. A meta description that must stay under a character budget can be pasted here and judged from Characters, which includes the spaces you will actually ship. A school assignment that says 500 words is the Words line, not Characters (no spaces). The estimate is silent-reading pace only. It does not know that a technical page is slower, and there is no field for a different words-per-minute figure.

A Flesch score, an average word length, and a top-words list are not on this card. Those live on text statistics, which also splits words on word characters rather than on whitespace, so an apostrophe can open a second word there, and which prints reading time in seconds or whole minutes rather than as a two-decimal minute figure. Paste here when you want the whitespace split and the seven-line block. Paste there when the ease score is the point. Neither page rewrites the draft.

Periods, emoji, and a trailing break

Sentences trim the box, hide a dot that sits between two digits, then split on runs of periods, exclamation marks, and question marks. A piece counts only when it still contains a letter or a number. The sample has two marked sentences plus Next paragraph, which has no closing mark and still counts, so Sentences is 3. Mr. Smith paid 10.50 today is two sentences: the period after Mr starts a new piece, and the dot inside 10.50 does not. U.S.A. costs a sentence per dot. Ellipses and a question mark glued to an exclamation mark are one split, because the splitter eats the whole run.

A final stretch of words with no ending mark is one sentence, not zero. An empty box is zero sentences, not one. The reading line is that word count divided by 200, then printed with two decimal places. Two hundred words print as 1.00 minute(s). Nine words print as 0.04 minute(s). The page does not round up to the next minute and does not show seconds. If a trailing break made Lines one higher than the rows you can see, the break is still in the box. Paragraphs will not count that trailing empty piece, because it trims the box first.

Rules and limitations

Words: trim, then split on whitespace. Characters: UTF-16 code units, spaces included. Characters (no spaces): whitespace removed, breaks included in the removal. Sentences: split on . ! ? after a digit-dot-digit sequence is hidden. A piece with a letter or a number counts, including a final piece with no mark.

Paragraphs: trim, then split on a blank line. Lines: split the raw box on \n or \r\n, and an empty box is 0 lines. Reading time: words / 200, two decimal places, labeled minute(s). Copy output copies the seven lines. There is no download and no speed control.

Common problems

If Mr. or U.S.A. inflated Sentences, every period is a boundary. The digit-dot-digit exception does not cover abbreviations. If an emoji looks like one character but added two, the count is code units.

If Lines is one past the last visible row, the box ends with a break. If the time looks too small, it is a fraction of a minute at 200 words per minute, not a rounded-up minute and not a seconds figure.

Frequently asked questions

How is a word decided?

The box is trimmed and split on whitespace. don't and well-known each count once. A box that trims to nothing has 0 words, even if it still contains spaces.

Why did an emoji add two characters?

Characters uses UTF-16 code units. An emoji that is a surrogate pair is two. é is one. The no-spaces line uses the same units after whitespace is removed.

Why is Mr. Smith two sentences?

A period ends a sentence. The only dot that is ignored is one sitting between two digits, such as 10.50. Abbreviations are not special.

Why is the reading time 0.04 minute(s)?

The time is the word count divided by 200, shown to two decimal places. Nine words print as 0.04 minute(s). The page does not round up to 1 minute.

Is my input uploaded or saved?

This tool processes input in your browser and does not save its input or output to local storage. Copy and download are user actions. The site uses analytics for page and action metadata and may use ads and production error reporting; see the Privacy Policy for those services.

About this tool

Maintained by Toolbench. For large or deeply nested files, split the input into smaller batches and verify representative results before using them in an import or application. Report reproducible problems through Contact.

Next steps

Related tools

Continue the workflow with nearby tools for formatting, publishing, debugging, or follow-up checks.

Trust

Policies, contact, and answers

Clear pages for how Toolbench works, what we collect, and how to reach us.