How to count word frequency in your text
- Paste or type your text into Your text. The page opens with a short bakery sample; press Clear to start empty.
- Keep Exclude stop words ticked to hide filler words such as "the", "and" and "is", or untick it to count every word.
- Keep Case insensitive ticked so "Bread" and "bread" count as one word.
- Raise Min count (the slider, or the number box for 1 to 999) to hide words that appear fewer times than that.
- Click Word, Count or Density % in the table header to re-sort, then press Export CSV to save every row.
How the numbers are worked out
The text is normalized (Unicode NFC) and split into words. A word is a run of letters and digits. An apostrophe or hyphen between letters stays inside the word, so "don't" and "state-of-the-art" count as one word each, and a decimal point or thousands comma inside a number (3.5, 1,000) is kept. Punctuation, emoji and lone dashes are ignored. Chinese, Japanese, Thai, Lao, Khmer and Burmese are written without spaces, so the page asks your browser's word segmenter (Intl.Segmenter, built on Unicode Standard Annex #29) where the boundaries fall.
Density % is count Γ· total words Γ 100. The total always includes stop words, so percentages stay comparable whether or not you filter them. Avg. Word Length is the average number of letters and digits per counted word. The stop word list holds 180 common English function words, including contractions such as "don't".
Show the stop word list (180 words)
Worked example with the sample text
The sample has 36 words (Total Words). With stop words excluded, 20 words are counted and 17 of them are unique, so Unique Words and Words Shown both read 17. "bread" appears 3 times: 3 Γ· 36 Γ 100 = 8.33%. "coffee" appears twice: 2 Γ· 36 Γ 100 = 5.56%. The other 15 words appear once each, at 2.78%. The 20 counted words contain 101 letters, so Avg. Word Length is 101 Γ· 20 = 5.05, shown as 5.1.
Limits and edge cases
- Words are matched exactly: "run", "runs" and "running" count separately because nothing is stemmed.
- Numbers count as words, and only single words are counted, not phrases.
- The chart shows the top 20 words and the table the first 500 rows. Export CSV includes every row that passes Min count.
Need other counts? The Word and Character Counter gives characters, sentences and paragraphs. Use Find and Replace to swap out an overused word, or the Whitespace Cleaner to tidy pasted text first.
Frequently asked questions
What keyword density should I aim for?
Google does not publish an ideal keyword density. Its spam policies describe keyword stuffing as repeating the same words or phrases so often that the text sounds unnatural. Use the Density % column to spot a word that dominates your copy, not to hit a target percentage.
Why is Total Words higher than the number of rows in the table?
Total Words counts every word in your text, including stop words. The table lists only the words left after your options are applied: stop words removed when Exclude stop words is ticked, and words below Min count hidden. Density % always uses Total Words as its base.
Does the word frequency counter work for languages other than English?
Yes. Accented and non-Latin scripts are counted, and Chinese, Japanese and Thai text is split with your browser's word segmenter. The stop word list is English only, so for other languages untick Exclude stop words.
How do I find how many times one word appears?
Find the word in the table, or click Word in the header to sort alphabetically and jump to it. If it is missing, check that Min count is 1 and that the word is not on the stop word list.
Sources: Google Search Central, spam policies (keyword stuffing); Unicode Standard Annex #29, Text Segmentation; MDN Web Docs, Intl.Segmenter.