Keyword Density Checker
Runs in your browser — your data is never uploaded.
Count how often each word or phrase appears in a piece of text, and what share of the total it occupies. Paste plain text or raw HTML — tags, scripts and styles are stripped first, because counting div and href as content makes every number wrong. Phrase density is calculated properly too: a two-word phrase occupies two word slots, which is where most tools report half the real figure.
0 characters · runs entirely in your browser
How to use Keyword Density Checker
- 1
Paste your text, or the HTML of the page.
- 2
Choose single words or two-, three- or four-word phrases.
- 3
Click “Analyze” to see counts and density, most frequent first.
Share
Embed this tool on your site
Paste this where you want the tool to appear. It runs entirely in your visitor's browser — no uploads, no account, no tracking.
Please keep the attribution line — it's what keeps these tools free.
Need a different size, a dark theme, or a different tool? Build an embed lets you preview it first.
Frequently asked questions
What is a good keyword density?+
There isn’t one. No percentage ranks a page, and Google has said so for well over a decade. The number is a diagnostic with two useful readings: a term you want to rank for that barely appears, and one repeated so often a reader would notice. Everything between those is noise, and writing to hit a target is how pages end up unreadable.
Why should I look at phrases rather than words?+
Because people search in phrases. “Convert” tells you nothing; “convert png to jpg” is a query with volume behind it. Switching to two- and three-word grams shows what the text could plausibly answer, which single-word counts obscure completely.
What are stop words and why are they filtered?+
Function words — the, and, of, to. Left in, they occupy the top of every single-word result and bury the finding. They are only filtered from single-word counts and from the edges of phrases: a phrase like “how to convert a file” is a real query, and stripping its stop words would leave something nobody searches for.
Can I paste HTML?+
Yes. Tags, and the contents of script and style elements, are removed before counting. Without that step a page’s JavaScript dominates the results on its own and the output describes your bundler rather than your copy.