keyword-density-analyzer
A keyword density analyzer counts how often each word and multi-word phrase appears in a page (or pasted text), reports the percentages, and flags stuffing risk. The ZTools Keyword Density Analyzer extracts the visible body text from any URL (skipping nav, footer, scripts), filters stop words ("the", "and", "of"), and reports unigram, bigram, and trigram frequencies β letting you spot which terms a page actually emphasizes versus which it claims to target. Critical for diagnosing on-page SEO drift, especially after content was edited by multiple people.
Use casesβ
Verifying a target keyword actually appears prominentlyβ
You wrote a 2,000-word post targeting "vue 3 composition api" β did it appear in your top-10 phrases, or did the post drift toward generic "JavaScript framework" language? The analyzer shows the truth.
Auditing competitor pages for the keywords they emphasizeβ
Run a top-ranked competitor URL through the analyzer; the top 20 keywords reveal exactly which terms they're reinforcing. Mirror their semantic coverage, not just their target keyword.
Detecting accidental keyword stuffing after an SEO consultant editβ
When your "primary keyword" shows up at 6%+ density, Google reads it as spam. The analyzer flags densities above the spam threshold so you can rewrite for natural language before it costs you rankings.
Building topic clusters by analyzing related-keyword frequencyβ
Run several pages on the same topic; common high-frequency terms across them define your true topic vocabulary. Use it to plan internal linking and supporting article topics.
How it worksβ
- Enter a URL or paste raw text β URL: the tool fetches and extracts visible body content (excluding nav, footer, scripts). Text: analyzed directly without fetching.
- Choose stop-word language β English, Spanish, French, German, Arabic, and 20+ other languages. Stop words ("the", "of", "and") are excluded from the meaningful counts.
- Pick n-gram size β Unigram (single words), Bigram (2-word phrases β most useful for SEO), Trigram (3-word phrases β long-tail). Typically run all three.
- Click Analyze β The tool tokenizes text, lowercases, removes punctuation, drops stop words, counts every n-gram, and ranks by frequency.
- Review the ranked list with density percentages β Each row: term, count, density (% of total non-stop-word tokens). Color-coded: 1-3% normal, 3-5% concentrated, >5% potential stuffing.
Examplesβ
Input: A 1,500-word blog post about JSON formatters
Output: Top 5 unigrams: json (3.2%), format (2.1%), validate (1.8%), data (1.5%), syntax (1.4%) β natural emphasis, no stuffing
Input: Same post after over-optimization
Output: json (6.4%), json formatter (3.1%), format json (2.9%) β STUFFING WARNING: 3 terms above 3% threshold
Frequently asked questionsβ
What's the ideal keyword density?
There is no magic number, but practical guidance: target keyword 1-2%, semantic siblings 0.5-1.5%, total spread across many natural variants. Density is a diagnostic for stuffing, not a target to hit.
Does keyword density still matter for SEO?
Less than it used to. Modern Google uses semantic models (BERT, MUM) that understand topic coverage, not raw frequency. Density is a useful sanity check β extreme values (>5%) hurt; moderate values are fine.
What density triggers a stuffing penalty?
Google doesn't publish thresholds, but in practice >5% for a single term reads as spammy and risks demotion. Above 8% almost always hurts. The exact line varies by content length and topic.
Should I include stop words in the analysis?
No. Stop words inflate counts without adding meaning. The tool removes them by default β toggle off only when analyzing literary or stylistic text patterns.
Can the analyzer handle non-English content?
Yes β 20+ languages with proper stop-word lists. For languages without word boundaries (Chinese, Japanese, Thai), it uses Intl.Segmenter to tokenize.
Will it be uploaded?
For URL input, the page is fetched server-side via a proxy. For pasted text input, analysis happens entirely in your browser; no data leaves your device.
Tipsβ
- Run bigrams and trigrams together β single words are rarely the actual ranking target.
- Compare your page against the top 3 SERP results for your keyword β match their density patterns.
- When density exceeds 4-5%, rewrite for synonyms instead of repeating the exact term.
- Use the analyzer on competitor pages to discover the topic vocabulary you should also cover.
Try it nowβ
The full keyword-density-analyzer runs in your browser at https://ztools.zaions.com/keyword-density-analyzer β no signup, no upload, no data leaves your device.
Last updated: 2026-05-05 Β· Author: Ahsan Mahmood Β· Edit this page on GitHub