Word Count Calculator
TextCount words in any text instantly — see total words, content words (no fillers), unique vocabulary, top words used, and lexical density. Free word counter.
Word Count
Content Words
0
no fillers
Unique Words
0
vocabulary
What is a Word Count?
A word count calculator counts the total number of words in a piece of text and breaks that count into layers of meaning: the raw total, the content words that carry ideas, the filler words that provide grammatical structure, and the unique vocabulary that represents your actual lexical range. Paste any text — an essay draft, a blog post, a legal clause, a script — and all metrics update instantly.
The distinction between total word count and content word count is one of the most useful signals in writing analysis. A 1,000-word article with 620 content words (62% lexical density) is notably more information-rich than a 1,000-word article with 380 content words (38%), which is heavily padded with grammatical connectors and qualifiers. The content word count reveals how much actual vocabulary your writing deploys, independent of its grammatical scaffolding.
The filler words tracked in this calculator are the standard linguistic set of function words: articles (a, an, the), common prepositions (in, of, for, at, to, with, from, by…), coordinating and subordinating conjunctions (and, but, or, because, although…), personal pronouns (I, we, you, they, he, she, it…), and auxiliary verbs (is, are, was, have, will, can, should…). These words are grammatically essential but carry no domain-specific meaning — removing them from the count isolates your true content vocabulary. For a deeper look at what percentage of your total words are content words, the Percentage Calculator can take the two counts and compute the ratio.
The top content words feature shows which non-filler words appear most frequently — a useful check for repetition. If your top word appears 15 times in a 400-word article, you may be over-relying on a single term where synonyms or pronouns could add variety. If the top word matches your target keyword, that confirms natural keyword usage rather than awkward insertion.
How to use this Word Count calculator
Paste or type your text — click the textarea and paste any content. The word count in the right panel and the live counter below the textarea both update immediately with every keystroke.
Read the primary word count — the large number in the dark result card is your total word count. Check it against your target (assignment limit, blog target, platform cap).
Check Content Words and Unique Words — the two tiles below the primary count show how many words are content words and how many distinct words appear. Compare content words to total words to get a sense of lexical density.
Read the Writing Stats card — Lexical Density with its colour bar tells you whether your writing is information-rich or conversational. Avg Word and Avg Sentence give structural and readability signals. Longest Word shows the most complex vocabulary item in your text.
Review Top Content Words — look at the five ranked words. If a word appears far more than expected, consider synonyms or pronouns to reduce repetition. If your intended keyword is absent from the top five, it may need stronger presence in the text.
Scan the Filler Words Found card — this shows every unique function word that appeared. No action required unless you are deliberately trying to write in a lean, minimalist style — in that case, looking for overused qualifiers in this list is a useful starting point.
Formula & Methodology
Word count:
words = text.split(/\s+/).map(strip punctuation).filter(length > 0 AND contains letter)
Content words:
contentWords = words.filter(w → w ∉ FILLER_WORDS)
Unique words:
uniqueWords = |{set of all lowercased word forms}|
Lexical density:
lexicalDensity = (contentWords ÷ totalWords) × 100
Filler word count:
fillerWords = totalWords − contentWords
Average word length:
avgWordLength = (Σ word.length for all words) ÷ totalWords
Average sentence length:
sentences = text.split(/[.!?]+/).filter(non-empty)
avgSentenceLength = totalWords ÷ max(sentences, 1)
Worked example:
Input: "India is the world's largest democracy and has a rich cultural heritage."
- Tokenised words: india, is, the, world's, largest, democracy, and, has, a, rich, cultural, heritage → 12 words
- Filler words: is, the, and, has, a → 5 occurrences
- Content words: india, world's, largest, democracy, rich, cultural, heritage → 7 words
- Unique words: 12 (all distinct) → 12
- Lexical density: 7 ÷ 12 × 100 = 58.3%
- Avg word length: (5+2+3+7+7+9+3+3+1+4+8+8) ÷ 12 = 60 ÷ 12 = 5.0 chars
- Sentences: 1 → avg sentence length = 12.0 words
- Longest word: "democracy" or "cultural" (9 chars each)
Tokenisation rules:
- Split by any whitespace (space, tab, newline)
- Strip leading and trailing punctuation from each token (commas, full stops, brackets, quotes)
- Preserve internal hyphens ("mother-in-law" = 1 word) and apostrophes ("don't" = 1 word)
- Keep only tokens containing at least one letter (pure numbers are counted as words but excluded from top content words)
- Filler detection uses case-insensitive matching; all tokens are lowercased before lookup