Word Counter

Live word, character, sentence and paragraph counts plus reading time and keyword density. Free, fast, and your text never leaves your device.

0
Words
0
Characters (with spaces)
0
Characters (no spaces)
0
Sentences
0
Paragraphs
0 min
Reading time

Top 10 keywords by density

WordCountDensity
Start typing to see keyword density...

What the counters actually measure

Every figure on this page comes from a small piece of JavaScript that re-runs each time a key is pressed, so there is no button to click and nothing to wait for. Words are found with a Unicode-aware pattern that matches runs of letters, digits, apostrophes (straight or curly) and hyphens. That means "mother-in-law" counts as one word, "don't" counts as one word, and "2025" counts as one word. Stray punctuation sitting on its own is not counted at all. Characters are reported twice: the raw length of everything in the box including spaces and line breaks, and the same total with every whitespace character stripped out.

Sentences are detected by scanning for runs of text that finish with a full stop, exclamation mark or question mark, plus any trailing fragment that has no closing punctuation. Paragraphs are counted by splitting on blank lines, so a single line break inside a block does not start a new paragraph, but an empty line between blocks does. Reading time divides the word total by 200 words per minute and rounds up, with a floor of one minute for any text containing at least one word. Two hundred words per minute is a widely used figure for adult silent reading of general prose. Skimming is faster and dense technical material is slower, so treat the number as a guide rather than a measurement.

The keyword table ranks the ten most repeated significant words. Before ranking, everything is lowercased, anything shorter than two characters is dropped, and roughly a hundred common English function words are removed using a built-in stop list. Density is that word's count divided by the total, shown to one decimal place.

A worked example

Paste The quick brown fox jumps over the lazy dog. The dog barks! into the box. You get 12 words, 59 characters with spaces, 48 without, 2 sentences, 1 paragraph and a reading time of 1 min. In the keyword table, dog shows a count of 2 and a density of 16.7%, while quick, brown, fox, jumps, lazy and barks each show 1 at 8.3%. The words the and over never appear in the table because both sit on the stop list.

Where a live count earns its keep

  • University assignments with a hard limit, where 10% over the stated word count can cost marks.
  • Cover letters for job applications that specify "no more than 250 words".
  • Writing a meta description that has to stay under about 160 characters before Google truncates it.
  • Drafting a post for X, which caps standard accounts at 280 characters, or checking an Instagram caption against the 2,200 character ceiling.
  • Short story competitions, magazine pitches and grant applications that state an exact limit.

Keyword density and its limits

Density was once treated as an on-page ranking dial, and it no longer works that way. What the table is genuinely good for is spotting habits: a word you have leaned on six times in three paragraphs, a product name repeated until it reads as spam, or a draft where the actual subject barely appears. Use it to notice and then rewrite, not to hit a target percentage.

Limits and things to watch

Everything happens in your browser and nothing is uploaded to a server. That also means nothing is saved: closing or refreshing the tab clears the box, so keep your master copy in your own document. Recalculation runs on every keystroke, so pasting an entire manuscript of a hundred thousand words will feel sluggish on an older phone, though it will still finish. The stop list is English only, so a French or German draft will show its own function words near the top of the density table. Languages written without spaces, including Chinese and Japanese, will not tokenise sensibly here because an unbroken run of characters is treated as a single word; character counts remain correct for those scripts, word counts do not. The tool counts plain text only, so formatting, footnotes and tracked changes pasted from a word processor arrive as ordinary characters.

When to use a different tool

The table here stops at ten entries. For a full ranked list of every word with counts you can export, use the Word Frequency Counter. To find out whether your sentences are too long for a general audience, run the draft through the Readability Checker. If you need to switch a heading to title case or strip shouty capitals, the Case Converter handles that. To compare two versions of the same paragraph line by line, use Text Diff, and for reference lists in APA, MLA or Harvard style see the Citation Generator.

Questions people ask

How is reading time worked out?

The word count is divided by 200 words per minute and rounded up to the next whole minute, with a minimum of one minute once there is any text at all. It is an estimate for silent reading of general prose, not a measured figure.

Which words are left out of the keyword table?

Around a hundred common English function words are filtered out, along with anything shorter than two characters. That is why the, and, of, to, with and similar words never appear, even in a draft where they are the most frequent items.

Are hyphenated words and contractions counted as one word?

Yes. The matching pattern treats hyphens and apostrophes as part of a word, so "mother-in-law" and "don't" each count as one, which matches how most style guides and word processors handle them.

Why is my sentence count different from the one in Word?

This tool splits on full stops, exclamation marks and question marks, so abbreviations such as "Dr." or "approx." are read as sentence endings and push the count up. Word processors apply extra rules for known abbreviations, which is where the two disagree.

Is my text sent anywhere?

No. All counting runs locally in your browser as you type, nothing is uploaded, and nothing is stored once you close the tab.