Keyword Density Checker

See which words and phrases a draft actually repeats, as counts and as a share of the text, with phrases counted as phrases.

Enable JavaScript to customise; default output below.

Nothing is uploaded. The counting happens in this tab.

Terms appearing once are not repetition, so they are left out by default.

More options Show
Live preview density.txt
# 57 words

# Single words
theme     6  10.53%
child     4  7.02%
parent    3  5.26%

# Two word phrases
child theme     3  10.53%
parent theme    2  7.02%

# Density is a diagnostic, not a target. Use it to check the page says its subject at all,
# not to hit a number: search engines stopped counting repetition as a signal long ago.

Output is valid and updates as you type.

See what a draft actually repeats: single words, two word phrases, three word phrases, with counts and a share of the text.

How to use

  1. Paste the draft. Nothing is uploaded; the counting happens in this tab.
  2. Read the two word phrases first. They are where the subject of a page shows up, and single words rarely tell you anything on their own.
  3. Raise the minimum appearances if the list is noisy. A term that appears once is not repetition.
  4. Use it as a check, not a target: does the page say its subject at all, and does it say it so often that a reader would notice?

Example

# 61 words

# Single words
theme    5  8.20%
child    4  6.56%
parent   3  4.92%

# Two word phrases
child theme    3  9.84%
parent theme   2  6.56%

The phrase count is what matters here. Five mentions of “theme” across a page about child themes is unremarkable; three mentions of “child theme” in sixty words is the subject being stated.

Pitfalls

  • Density is not a ranking factor and has not been one for many years. Search engines model topics, not repetition, and a page written to hit a percentage reads like it.
  • A phrase occupies several words, so its density counts each of them. That is what every tool means by phrase density, and it is why a two word phrase at 10% is not the same as a word at 10%.
  • Stop words dominate any honest count. They are ignored by default, or the list would be the, and, of, every time.
  • Repeating a term because a tool told you to is the mistake the term “keyword stuffing” was coined for. The fix for a page that never says its subject is usually a better first paragraph, not more mentions.
  • Headings, alt text and link text all count for a reader even though they may not be in what you pasted. Include them if you want the real picture.
  • Very short text gives meaningless percentages. One mention in twenty words is 5%, which looks alarming and means nothing.
  • Different tools count differently: hyphenated words, contractions and numbers are all judgement calls. Compare like with like.
  • A term that appears once in a 3,000 word page is not “missing” in any useful sense. Density says nothing about where a term appears, and position matters far more.

Compatibility

Word splitting uses Unicode letter and number properties, so accented and non-Latin text counts correctly. Everything runs in your browser, in any version from 2018 onwards, and nothing is uploaded.

Frequently asked questions

What is a good keyword density?
There is no good number. If you want a rule of thumb: if a reader would notice the repetition, it is too much.
Why are phrases more useful than single words?
Because subjects are phrases. “Child theme” is a topic; “child” and “theme” separately are not.
Does it count headings and alt text?
Only if you paste them in. Copying the rendered page rather than the body copy gives the fuller picture.
Why is my most important term not listed?
Either it appears fewer times than the minimum, or its words are shorter than the minimum length, or it is made of common words that are being ignored.
Should I use this before or after writing?
After. Write for the reader, then check that the page says what it is about.
Weekly drops

New tools, when there are new tools

One email when something worth using ships. No schedule to fill, so no filler.

Your address goes nowhere else, and one click unsubscribes.