Word Counter

Paste or type below — words, characters, sentences, and paragraphs count live on every keystroke, with an estimated reading time. Free, no sign-up, and nothing you write is ever uploaded: counting happens entirely in your browser.

0 Words
0 Characters
0 Without spaces
0 Sentences
0 Paragraphs
0 sec Reading time

What each number means

Every figure on the cards above follows a stated convention rather than a universal law. Words are unbroken runs of letters, digits, apostrophes, and hyphens. Characters are Unicode code points, spaces and punctuation included. Without spaces is the same tally with every whitespace character removed — not only the space bar but tabs and line breaks as well. Sentences end where a run of . ! ? or … is followed by whitespace or the end of the text. Paragraphs are blocks separated by one or more blank lines. Reading time is the word count divided by 238 words per minute, a published population average, and is therefore an estimate. The conventions are chosen to match how plain text is usually read, but they are still choices: when two tools disagree about the same passage, the reason is almost always that they made different ones. The sections below show each rule doing its work on short original examples, with every number computed by the same engine that runs in your browser.

How text becomes words

The guide What counts as a word covers this question in depth; the short version is that the counter never looks words up in a dictionary. It scans for runs of word characters — Unicode letters in any script, digits, straight or curly apostrophes, and hyphens — and every run is one word. Everything else is a separator. Take "It's a state-of-the-art word counter.": the engine reports 5 words, 37 characters, and 33 without spaces. "It's" stays whole because the apostrophe is a word character, and so does "state-of-the-art" with its internal hyphens; the final period is a character but not a word. A curly apostrophe behaves the same way: "it’s" pasted from a word processor is 1 word, not split at the apostrophe.

Digits are word characters, so numbers count. "In 2026 we shipped 3 tools worth $0." is 8 words: "2026", "3", and "0" each register, while the dollar sign, like any symbol, is a character and nothing more. Because a period is a separator, a decimal splits: "Pi is 3.14 exactly." counts 5 words, with "3.14" contributing 2 tokens. A tool that splits only on whitespace would report 4 for the same sentence, and that single convention explains a large share of one-off disagreements between counters. Pasted web addresses behave the same way. In "Read more at https://example.com/guide/counting today." the colon, slashes, and dots break the address into separate tokens (https, example, com, guide, counting), for a total of 9 words. One documented quirk follows from hyphens being word characters: a hyphen standing entirely alone, as in a plain-text bullet list written "- apples" and "- pears", registers as a token, so that list counts 4 words even though only "apples" and "pears" are words a reader would count. Emoji, em dashes, and ordinary punctuation are never words.

Characters, with and without spaces

Characters are counted as Unicode code points, the unit the Unicode standard assigns to each letter, mark, symbol, or emoji. Most of the time a code point is what you would call a character: "Great job 👍" is 11 characters, the emoji costing 1. Add a skin-tone modifier, "Great job 👍🏽", and the count becomes 12, because the modifier is its own code point riding on the base — that emoji alone is 2 code points. Flags are two code points, and joined sequences such as family emoji are five or more, even though the screen shows a single picture. Accented letters raise a subtler point. An é typed normally is one code point, so "café" is 4 characters; the same word can arrive from some sources as a plain e followed by a combining accent — an extra code point that changes nothing on screen — and then this page reports 5. The Letter Counter normalizes text to Unicode NFC before counting, so the two spellings agree there; this page counts the raw code points it is given, and each page states which convention it uses.

Line breaks count too. "a" over "b" with a single newline between them is 3 characters, and if a carriage-return plus newline pair reaches the counter it costs 4. The without-spaces figure removes all of that whitespace, which is why it is 2 in both cases. Some platforms count UTF-16 code units rather than code points, which makes most emoji cost two under their rules, so the same text can legitimately have different lengths on different platforms. The guide Characters, code points and emoji explains that difference, and the Character Counter leads with the with- and without-spaces figures for form fields and length limits.

Sentences and paragraphs

A sentence boundary is a run of . ! ? or … followed by whitespace or the end of the text, and a candidate segment must contain at least one letter or digit to count. The rule handles ellipses and stacked punctuation — "Wait… what?! Really." is 3 sentences — and it does not split decimals, so "Pi is 3.14 exactly." is 1 sentence. What it cannot do is tell an abbreviation from a full stop. "We met Dr. Lee at noon. She agreed." counts 3 sentences, because "Dr." followed by a space triggers the boundary; write "Dr" without the period and the count drops to 2. Abbreviations such as "e.g." and "U.S." add a phantom sentence the same way. The bias is always upward and typically small, and on any text longer than a paragraph the average words per sentence dilutes it further. Text with no terminal punctuation at all is a single segment: the unpunctuated fragment "Roses climb the wall" over "Ivy follows after" is 1 sentence. The Sentence Counter pairs the count with average words per sentence, a direct gauge of rhythm.

Paragraphs are blocks separated by one or more blank lines, the plain-text and Markdown convention. A single line break does not split a block, which keeps addresses and verse whole: that same fragment is 1 paragraph. Put an empty line between "First block." and "Second block." and the count is 2; a line containing only spaces is treated as blank, so the count stays 2 when the separating line holds a few stray spaces. Word processors count paragraph marks instead, so their figure can differ from this one in either direction. The Paragraph Counter walks through the copy-paste cases where the two conventions diverge, and the Line Counter covers the code-and-logs cases where lines, not paragraphs, are the unit.

Reading time is an estimate

The reading-time card divides the word count by 238 words per minute, the average adult silent-reading rate for non-fiction reported in Brysbaert's 2019 meta-analysis of reading-rate studies. It was chosen because it is a defensible single published figure, which is not the same as saying anyone reads at exactly that speed: it is the middle of a wide range, and the card should be read as an estimate. The arithmetic is simple to check. The engine converts minutes to seconds and rounds to the nearest second; anything that rounds to fewer than five seconds is shown as "under 5 sec", and a single word rounds to "0 sec". The sentence "It's a state-of-the-art word counter.", at 5 words, works out to 1 second and displays as "under 5 sec". Repeat the sentence "Plain sentences carry a reader forward." until the passage reaches 150 words and the card reads "38 sec" — 38 seconds. At 1,200 words the same passage takes "5 min 3 sec", or 303 seconds, shown in minutes and seconds once a full minute is reached.

The same engine also produces a speaking-time estimate, dividing by 150 words per minute, a common prepared-delivery pace — again an average, again the middle of a range. The 150-word passage speaks in about 1 min and the 1,200-word one in about 8 min. That figure appears on the Reading Time Calculator alongside reading time, and the guide Reading time and words per minute discusses where the two constants come from and when to round an estimate up or down.

What happens when you paste

Pasting into the box strips formatting — bold, links, and font changes disappear — and only the text itself is counted, which is what a length check needs. Smart quotes from word processors are handled, since a curly apostrophe is a word character just as a straight one is. What pasting does not remove is invisible whitespace, and that is the usual explanation when a character count looks slightly high. The single word "Done." is 5 characters; the same word followed by stray spaces and empty lines is 9, while the word count (1), the without-spaces count (5), and the paragraph count (1) do not change at all. Strict form fields count that trailing whitespace too, so when a count matters, check the end of the paste.

When another tool gives a different number

Every disagreement between counters should trace to a named convention, and the ones above cover nearly all of them. For words: whether a period inside a number separates ("3.14"), whether a web address splits at its punctuation, and whether a lone hyphen counts. For characters: code points against UTF-16 code units, composed against decomposed accents, and whether a Windows line ending was normalized before counting. For sentences: the abbreviation over-count, which pushes this counter's figure up, never down. For paragraphs: blank lines against paragraph marks. For reading time: which words-per-minute constant the other tool assumed, since any tool's estimate is its word count divided by its chosen average. The methodology page states each rule, the known failure cases, and the tests that pin the engine's behavior, so a difference can be attributed rather than argued about.

Companion tools

Each figure on this page has a dedicated tool that leads with it and adds what this page leaves out. The Character Counter puts the with- and without-spaces figures first. The Letter Counter counts only letters, with digits, spaces, and punctuation tallied separately so the buckets sum to the character total. The Sentence Counter adds average words per sentence, the Paragraph Counter reports structure from blank-line breaks, and the Line Counter counts total, non-empty, and blank lines by the same rule as wc -l. The Reading Time Calculator shows reading and speaking time together. Beyond counting, the Case Converter transforms text between UPPERCASE, lowercase, Title Case, Sentence case, and aLtErNaTiNg case using the same word tokens described above; the Word Finder lists every word makeable from a set of letters against a public-domain word list; and the Business Name Generator proposes pronounceable names and checks domain availability. All of them run entirely in your browser.

Guides

Longer guides sit behind the counters, each built on the same conventions and the same engine. What counts as a word takes the tokenization rule apart case by case — contractions, hyphens, numbers, addresses, and the places where counters legitimately disagree. Characters, code points and emoji explains why a single picture on screen can be several characters and why different platforms can report different lengths for the same text. Reading time and words per minute covers the evidence behind the 238 and 150 words-per-minute averages and how far to trust an estimate. The full list is at Guides.

Frequently asked questions

Why is my word count different from another tool’s?

Almost always because of a tokenization convention, not a bug. This counter treats a period as a separator, so "Pi is 3.14 exactly." is 5 words here, while a tool that splits only on whitespace would report 4. A pasted web address splits at its colon, slashes, and dots, so "Read more at https://example.com/guide/counting today." is 9 words. A bare hyphen used as a list bullet registers as a word-token. And some tools count paragraph marks rather than blank lines. The methodology page states every rule, so a difference can be traced to one of them.

Do numbers count as words?

Yes. Digits are word characters, so "In 2026 we shipped 3 tools worth $0." counts 8 words: "2026", "3", and "0" each register, while the dollar sign is a character but not a word. A decimal point is a separator, so "3.14" on its own is 2 word-tokens.

Why does the reading time say "under 5 sec" or "0 sec"?

Reading time is the word count divided by 238 words per minute — the average adult silent-reading rate for non-fiction in Brysbaert’s 2019 meta-analysis — converted to seconds and rounded. "It's a state-of-the-art word counter." is 5 words, which works out to 1 second and displays as "under 5 sec"; a single word rounds to "0 sec". The rate is a population average, not a measurement of any one reader, so every figure on the card is an estimate.

Why is the sentence count higher than the number of sentences I wrote?

Abbreviations. A sentence boundary is a run of . ! ? or … followed by whitespace or the end of the text, and the engine cannot tell "Dr." from a full stop, so "We met Dr. Lee at noon. She agreed." counts 3 sentences; write "Dr" without its period and the count is 2. The over-count is always upward and small, and on longer text it barely moves the average words per sentence.

Does a single line break start a new paragraph?

No. Paragraphs are blocks separated by one or more blank lines, the plain-text and Markdown convention. "Roses climb the wall" over "Ivy follows after" with a single line break between them is 1 paragraph; put an empty line between "First block." and "Second block." and the count is 2. A line containing only spaces is treated as blank.

Is anything I type sent to a server?

No. Counting is local JavaScript on a static page: your browser’s network tab shows zero requests while you type, and a loaded page keeps working offline. Nothing is transmitted or stored.

Is there a maximum length?

The engine accepts up to two million characters per analysis and reports an explicit message, never a silent wrong answer, when input exceeds that. Below the cap there is no sampling or approximation: every count is recomputed over the full text on every keystroke.

Everything is processed locally in your browser and never transmitted or stored. See the methodology page.