Skip to main content

Keyword Density Checker

Measure keyword density for words, 2-word and 3-word phrases with a focus tracker.

Written by Golam Rabbani, Founder & Lead Engineer

Track a specific term or phrase like “seo audit” in addition to the top-N table.

How to use this keyword density checker

  1. Paste your article body or landing-page copy into the first field.
  2. Optionally enter a focus keyword or phrase to track its specific density (e.g. "keyword density").
  3. Choose phrase length — 1 word (unigrams), 2 words (bigrams), or 3 words (trigrams).
  4. Set the minimum word length and decide whether to exclude common English stop words.
  5. Press "Check density" to render the table, the focus-keyword card, and the optimal/over-optimised flags.
  6. Press Copy CSV to export the full table.

About this keyword density checker

The keyword density checker tokenizes your text into runs of letters, digits, and apostrophes, lowercases every token, and builds either a unigram, bigram, or trigram frequency table. Density for each phrase is `(occurrences / total tokens) × 100`. Each row is flagged: under 0.5% is "low", 0.5–2.5% is the SEO-friendly "optimal" band, 2.5–4% is "high", and above 4% is "over-optimised" — the classic keyword-stuffing red flag.

A concrete example. Paste a 500-word article on coffee brewing where the phrase "pour over" appears 8 times. Set phrase length to 2 (bigrams) and enter `pour over` as the focus keyword.

The focus card reports: `pour over` — 8 occurrences, density 1.60% (optimal). The full bigram table also surfaces neighbouring phrases like `coffee grounds` (5 occ., 1.00%), `water temperature` (3 occ., 0.60%), and any over-used filler like `you can` if it spikes above 2.5%.

The 0.5–2.5% optimal band is consistent with current SEO guidance for primary keywords; modern Google ranking is semantic rather than density-based, but a density tracker still catches accidental stuffing during editing. All tokenization, n-gramming, and counting run locally in your browser.

FAQ

What is a good keyword density?
Most SEO style guides target 0.5–2.5% for the primary keyword and proportionally lower for secondary phrases. Above 4% looks unnatural to readers and may be flagged as keyword stuffing.
What counts as a phrase?
A phrase is a sequence of N adjacent tokens (1 for unigrams, 2 for bigrams, 3 for trigrams). Punctuation and other separators interrupt the sequence so a phrase never spans a sentence boundary that contains a non-word character.
Why filter stop words?
Common function words like "the", "and", "of" dominate unigram counts and bury content keywords. Filtering them surfaces the meaningful terms. For bigrams/trigrams the filter only removes phrases composed entirely of stop words.
How does the focus keyword tracker work?
The focus phrase is tokenized the same way as your text, then matched as a contiguous sequence of tokens. The density is reported relative to the total tokens in your text and flagged using the same optimal/high/over-optimised bands.
Why are some entries flagged "over-optimised"?
A density above 4% means the phrase appears more than once every 25 words. That is rarely natural in normal writing and is the historical signal Google's spam team used to penalize keyword stuffing.
Is my content sent to a server?
No. Tokenization, counting, and density math all run locally in your browser. Your draft never leaves the tab.