Keyword Density Checker
Track your focus keyword to see its exact density with a keyword stuffing warning, plus a full frequency table you can export to CSV. Runs in your browser.
- Free, no account
- No watermark
- No usage limit
About the Keyword Density Checker
Most keyword density checkers hand you a table of the top twenty words and leave the real work to you. You scan that list hunting for your target phrase, and if it sits at number twenty-three, or contains a small word like "for" that got filtered out, it never shows up. Then you are stuck guessing whether 3% is fine or a problem, which is the part those tools leave entirely to you.
This one does the opposite, so you type your focus keyword into the tracker and get its exact count, its exact density, and a plain verdict on whether you have overdone it: natural, getting high, or over-optimized. There is no hunting through a ranked list and no eyeballing a percentage while you hope for the best. If your phrase reads as keyword stuffing, the card turns red and says so, because catching that is the one thing density is genuinely good for.
It all runs on your own device. Paste a draft, drop a file, or load a saved competitor page, and nothing gets sent anywhere. That matters more than it sounds. Plenty of free density tools run on someone else's server and expect you to upload unpublished copy and private client drafts. This one never lets your text leave the browser, so confidential work stays that way.
One thing about density itself, because it changes how you read every number here. Years back you could repeat a phrase to nudge a page up the rankings, but that stopped working long ago. Google works out what a page is about from meaning and context, and John Mueller has said plainly that keyword density is not worth focusing on. There is no magic percentage to aim for. What the tracker is good for is the opposite problem, writing that repeats one phrase far more than a person naturally would. That is keyword stuffing, and Google's guidelines say it can hurt your ranking.
How to use
- Paste or type your text into the top box. You can also drop a .txt, .md, or .html file straight onto it, load one with the button, or paste a file from your clipboard. A loaded HTML page gets reduced to readable text, so a saved competitor page comes through clean instead of full of markup.
- Enter your focus keyword in the tracker box. Add several at once, one per line or separated by commas, up to ten, when you want to check a primary term plus a couple of variations. Type an eleventh and the box names the ones it is not scoring rather than dropping them quietly.
- Read the verdict card for each keyword. You get the exact count, the density as a share of all your words, and a colored label saying whether the amount looks natural, high, or stuffed.
- Adjust the table below for the wider picture. Switch phrase length to 1, 2, or 3 words, set a minimum word length to hide filler tokens, and toggle stop-word filtering to keep or strip connective words like "the" and "of".
- Export when you are done. Copy the whole table to your clipboard for a spreadsheet, or download the full list as a CSV. The on-screen table shows the top twenty, the CSV holds every word or phrase counted.
Reading the stuffing warning
The verdict on each focus keyword is a rule of thumb, calibrated to how natural writing actually behaves rather than to any official rule. Nobody publishes a keyword density figure that this one could have been copied from. Google never has, no standards body defines one, and Mueller's line is the one quoted above. So the band had to be measured instead of looked up, and it was, against the 975 hand-written pages on this site: the density of each page's own main keyword comes out at a median of 0.73%, a 90th percentile of 1.71% and a 99th percentile of 2.56%. The familiar 2.5% ceiling turns out to sit almost exactly at the top percentile of writing that nobody was optimizing.
Roughly 0.5% to 2.5% is where a main keyword lands when you write about your topic without forcing it. Below that it reads as light, that is usually fine. Above 2.5% the card flags it as getting high, which means it is worth reading the piece out loud to confirm it still flows. Past about 4% you are almost certainly repeating the phrase more than a person naturally would, and that is where the label turns red.
A multi-word phrase is scored on the share of the page it takes up rather than on how many times it appears. Divide the mentions of "running shoes for men" by your word count and a phrase hammered fifteen times into 1,400 words scores 1.07%, which sits inside the green band and comes with the advice that nothing needs fixing. Those fifteen mentions are 45 of the 1,400 words, so the card reads 3.21% and flags it instead. For a single word the two figures are identical, which is why the band itself did not have to move. The card prints the classic count-over-words density as its headline number and shows the occupancy underneath it whenever the two differ.
Treat a red flag as a prompt to re-read, not a number to panic over. Sometimes a high density is honest, a short product page about one thing will naturally name it a lot. More often it means the writing went mechanical, and trimming a few forced repeats fixes the density and the reading in one pass.
One deliberate choice is worth knowing. The tracker matches your keyword literally, exactly as you typed it, against your full text. The stop-word and minimum-length filters only change the ranked table underneath. So if your keyword is "shoes for men," you get its true count even though "for" is a word the table would filter out. A focus tracker exists precisely for that, measuring your actual phrase rather than a cleaned-up version of it.
Using it as an editor's audit
The most practical reason to keep this open is checking work you did not write. Hand a brief to a freelancer or run a topic through an AI writer, drop the result in here, enter the target keyword, and within a couple of seconds you know whether anyone quietly stuffed the phrase to look optimized. That is a genuine quality check, and it takes less time than reading the opening paragraph.
Competitor pages are the other everyday use. Load a top-ranking page and read the ranked table as a vocabulary map, it shows which concepts and related terms a strong page leans on, and copying anyone's density figure is not the goal. Export several competitors to CSV, line them up in a spreadsheet, and the gaps in your own coverage tend to jump out.
Since repeating a phrase does nothing for ranking anyway, spend the effort you save on coverage. Google rewards a page that genuinely covers its topic, so hitting the subtopics a reader expects and using the natural vocabulary around your subject does far more than repeating one phrase over and over. Use the checker to catch accidental over-repetition, then put your real effort into covering the topic properly.
Frequently asked questions
What counts as keyword stuffing, and what density sets off the warning?
Stuffing is loading a page with a phrase to game rankings rather than to help the reader. In this tool a focus keyword flags amber above roughly 2.5% and red past about 4%, read as the share of your words the phrase occupies, which are the points where repetition usually starts to read as unnatural. Density is not the only form, though. Hidden text, long blocks of repeated terms, and lists of near-identical phrases all count too, so a clean percentage is not a full clearance. The real test is whether a person reading the page would notice the repetition.
Why does my focus keyword show a different density than the same phrase in the table?
They measure two different things on purpose. The tracker divides your keyword count by the total number of words, the classic density formula, and matches your phrase literally including any small words. The table measures each phrase against the number of phrase positions of that length, and drops runs that contain a filtered or short word. So the tracker gives you the true density of your exact phrase, and the table gives you a filtered ranking of what dominates overall.
How do I check a phrase that contains a common word like "the" or "for"?
Just type the full phrase into the tracker. It matches your text word for word and ignores the stop-word filter, so "the best trail shoes" or "running shoes for men" is counted in full. The ranked table is what strips those small words out, which is why a phrase you care about might not appear there even though the tracker finds it.
Is there an ideal keyword density I should aim for?
No, and chasing one tends to backfire. There is no target percentage that lifts your ranking, and writing to hit a number pushes you toward forcing the phrase where it does not belong. Use the 0.5% to 2.5% band as a ceiling to stay under, not a goal to reach. Write for the reader first, then use the tracker only to catch accidental over-repetition before you publish.
Can I export the results or save my setup?
Both. Copy the whole table to your clipboard for a spreadsheet, or download the full ranked list as a CSV that includes every keyword, not only the top twenty on screen. The Share button copies a link that remembers your phrase length, filters, and tracked keywords, so you can bookmark a setup or send it to a teammate. Your text is never part of that link.
Is my text uploaded or stored anywhere?
No. The counting, the density math, and the phrase matching all happen locally on your device. Nothing is sent to a server, logged, or saved, and closing the tab clears it for good. Even a shared link carries only your settings, never the text you pasted, so drafts stay private.
Does it handle capitalization, punctuation, and numbers?
Yes. Text is lowercased so "SEO" and "seo" count as the same word, and words split on punctuation and spaces, with apostrophes kept inside contractions like "don't". Numbers count as tokens too, so you can see how often figures turn up. The table caps at the top twenty, and the CSV export gives you the complete count.