SEO

How do I check SEO keyword density?

How do I check SEO keyword density? Paste your draft and get every term ranked by frequency and density, scored with the correct phrase formula.

4 min read
seoseo-toolsfree-toolson-page-seocontent-writing

How do I check SEO keyword density? Paste a draft into the tool below and it measures how often each term appears as a share of your total word count, the moment you paste.

It does two things at once. It ranks every term in the text by count and percentage, filtering roughly 120 English stop words so the table is not just “the” and “of”, and it scores any single word or multi-word phrase you name against the right formula. Nothing is uploaded and there is no button to press.

Two ways to read the output

The frequency table answers what does this page look like it is about. The answer should be the topic you were writing about. If it is not, you have a focus problem that no percentage will fix.

The phrase box answers how heavy is this exact term, and it counts phrases properly. Neither number is a target to hit.

The formula, and the one most tools get wrong

For a single word it is simple:

Density (%) = (count / total words) x 100

A multi-word phrase needs one extra term, because the phrase occupies more of the page than one slot per appearance:

Phrase density (%) = (occurrences x words in phrase / total words) x 100

So a two-word term appearing six times in a 1,000-word article is 1.2 percent, not 0.6 percent. Tools that skip the multiplier report roughly half the real figure on any two-word phrase, and about a third of it on a three-word phrase. If two checkers disagree with each other by almost exactly a factor of two, this is why. The phrase box above uses the second formula.

What the number is actually good for

It is a signal about distribution, not a ranking formula, and it is only as trustworthy as the total it divides by. The word counter shows that total on its own if you want to sanity-check it.

I have ranked hundreds of pages across 15+ years and never optimised to a specific percentage. Two things I do use it for:

  1. Catching over-optimisation. After three drafts you go blind to your own repetition. A term sitting at 6% is almost always a passage you would cut if you read it fresh.
  2. Confirming the term is there at all. If the main phrase returns zero occurrences, it is usually missing from the places that matter most: title, H1, opening paragraph. This is a more common miss than it sounds.

A third, less obvious read: if the top of your frequency table is filler like that, this and with even after stop-word filtering, the content is probably thin. High filler relative to meaningful terms is a quality signal as much as a readability one.

Rough bands, not targets

RangeWhat it usually means
0.5-2%Natural distribution. Nothing to do.
2-4%Worth rereading. Competitive pages do sit here; check it still reads well aloud.
Above 4%Almost always a passage that repeats itself. Fix the writing, not the number.

These are observations, not rules. The correct response to a high figure is never “swap some for synonyms until the number drops” - that leaves the same stuffed passage with worse vocabulary. Delete the sentences that only existed to hold the phrase.

Why pages rank with almost none of it

I have seen pages at #1 for competitive terms with their target phrase under 0.5%.

Google understands context. A page about “best running shoes” does not need that phrase twenty times. It needs to cover fit, cushioning, durability, brands and price. That breadth signals topical authority far more than frequency does.

MetricWhat it measuresBest used for
DensityFrequency within one documentDetecting stuffing, checking basic coverage
TF-IDFFrequency relative to a corpusIdentifying unique topic signals
Semantic coverageBreadth of related entities and conceptsModern content optimisation

Use this page as a sanity check. Use coverage as the plan.

Frequently asked

Questions About This Article

How is keyword density calculated?

For a single word it is that word's count divided by the total word count. For a phrase the formula changes, and most tools get it wrong: a three-word phrase occupies three of the total words each time it appears, so the correct calculation is (phrase count x words in phrase) / total words. A two-word phrase appearing ten times in a 1,000-word page is 2%, not 1%. This tool uses the phrase formula.

What is a good density for SEO?

There is no target worth hitting, and writing to one is how pages end up reading badly. As a sanity range, a primary term usually lands between 0.5% and 2.5% when the writing is natural. Treat anything above roughly 4% as a flag to reread rather than a rule you broke - the number is a symptom, and the thing to fix is the repetition it points at.

Does keyword density still matter?

As a diagnostic, yes. As a target, no. Google has not ranked on repetition counts for well over a decade; it reads topical coverage and meaning. What the measurement is still good for is two specific checks: catching over-optimisation you have gone blind to after three drafts, and confirming the term you are targeting appears in the copy at all, which is a more common miss than it sounds.

What are stop words and why filter them?

Stop words are the high-frequency words that carry almost no topical meaning: the, a, is, and, of, to. Leave them in and they take every slot at the top of the frequency table, so you learn nothing. This tool filters roughly 120 common English stop words by default, and you can switch the filter off if you want the raw counts.

How do I fix a term that is too heavy?

Cut instances rather than swapping every one for a synonym - stuffed copy that has been synonym-swapped is still stuffed, just harder to read. Replace some with pronouns, delete the sentences that only existed to hold the phrase, and let headings and the opening carry it instead. Read the passage aloud: if it sounds insistent to you, it reads that way to a reader.

What is the difference between this and TF-IDF?

This measures frequency inside one document. TF-IDF weighs that frequency against how common the word is across a whole corpus, so a term that appears ten times but is common everywhere scores low, while one that appears ten times and is rare scores high. TF-IDF is the stronger relevance signal; frequency inside a single page is the faster stuffing check.