DevLab
T
Text⭐ Popularbeginner

Word Counter

count words, characters, sentences, and reading time in real time

By Bikram NathLast updated

Paste or type text and instantly see word count, character count with and without spaces, sentence count, paragraph count, and estimated reading time calculated at 200 words per minute. Paste a 900-word draft and it shows a 4.5-minute read before you publish. Unlike running `wc -w` in a terminal, it also tracks sentence and paragraph boundaries in the same pass without any flags or piping.

Try it now — free, instant, no signup

What is Word Counter?

Word Counter splits your input on whitespace and punctuation boundaries, then tallies words, characters, sentences, and paragraphs in real time as you type or paste. Paste the body of a cover letter, for instance, and you see word count update character by character before you even stop typing.

The tool earns its place when you need several metrics at once without switching context. The Unix `wc` command gives you words and lines but not reading time or sentence count; Google Docs word count (Tools > Word count) is buried two clicks deep and unavailable outside a Doc. This tool gives all five numbers in one view with no login and no file upload.

The trickiest edge case is how 'word' is defined. The implementation splits on whitespace, which means 'full-stack' counts as one word and 'don't' counts as one word, matching most style guides. However, pasting HTML source will count every tag name and attribute as a word — 'div', 'class', 'href' all increment the counter. Strip markup before pasting if you are measuring prose, not markup. Similarly, Unicode emoji each count as one character in terms of visible glyphs, but JavaScript internally represents some emoji as two UTF-16 code units, which can create a mismatch if you are comparing the character count here against a backend that uses byte length.

When to use Word Counter

Confirm a LinkedIn post stays under 3,000 characters before publishing, since the platform silently truncates anything longer.
Verify a guest post submission meets the 800-word minimum an editor specified before sending the draft.
Gauge whether a README introduction reads in under two minutes so you know whether to cut it before the repo goes public.

Frequently Asked Questions

How does this define a 'word' — does 'full-stack' count as one or two?
The counter splits on whitespace, so 'full-stack' counts as one word because there is no space inside it. Contractions like 'don't' also count as one word. This matches the behavior of most writing style guides and mirrors what Microsoft Word and Google Docs report. If you need a different definition, the Unix `wc -w` command also splits on whitespace and will give you the same number for hyphenated terms.
Why does the character count here differ from what Twitter or Instagram shows?
Social platforms apply their own counting rules on top of raw character counts. Twitter, for example, normalizes all URLs to 23 characters regardless of actual length and counts certain Unicode characters as two units. Instagram counts grapheme clusters, not code points, so a family emoji composed of multiple code points counts as one character there but may count differently here. This tool reports the raw JavaScript string length in code units, which is useful for most CMS character limits but will not match social platform counters exactly.
How is the reading time calculated, and is the WPM figure adjustable?
Reading time is word count divided by 200, which is the commonly cited average silent reading speed for adults processing non-fiction or technical prose. Some tools use 238 WPM or 250 WPM, which produces slightly shorter estimates. The figure is not adjustable in the current tool. If you are targeting a specific audience, such as technical documentation for developers, research from Nielsen Norman Group suggests 200 WPM is a conservative and reasonably accurate baseline for on-screen reading of dense content.
Will pasting HTML or Markdown inflate the word count?
Yes. Pasting raw HTML counts every tag name, attribute name, and attribute value as words. A short paragraph wrapped in a div with a class attribute will count several extra words that are invisible to readers. The same applies to Markdown: fence blocks, link URLs in parentheses, and image alt text all increment the counter. Paste only the rendered or plain-text content if you want to measure what readers actually see. The Markdown Previewer tool on this site can help you visualize the rendered output first.
How does sentence detection work — does it handle abbreviations like 'Dr.' or 'e.g.' correctly?
Sentence detection counts terminal punctuation marks, specifically periods, exclamation marks, and question marks, followed by whitespace or end of string. This means abbreviations like 'Dr.' or 'e.g.' each trigger a false sentence boundary, so a paragraph that uses three abbreviations will report three extra sentences. This is a known limitation of punctuation-based heuristics without a natural language processing layer. If accurate sentence count matters for your use case, paste the text into a tool with NLP sentence tokenization, such as a Python script using NLTK's sent_tokenize, and use this tool only for word and character counts.

Related Tools