U.UtilityApp
📈 SEOFree · No signup

Keyword Density Checker

Analyze text to see word and phrase frequency and density, so you can spot over-optimization or thin coverage.

How the checker counts words

Paste your text and the checker lowercases it, splits it into words, and lists the 12 most frequent ones with their count and density. Density is count ÷ total words × 100, rounded to one decimal place.

Here is a 37-word product blurb about trail running shoes. The top of the table looks like this:

KeywordCountDensity
running38.1%
shoes38.1%
trail38.1%
our25.4%
for25.4%
the25.4%
shoe12.7%

Words of one or two letters, such as "is", "on" and "to", are left out of the table but still count towards the total. That keeps the total honest while stopping the list from filling up with tiny words. Three-letter words like "the", "and" and "for" do appear, so expect a few of them near the top. Ties are listed in the order the words first appear in your text.

Variants and phrases are counted separately

The checker matches exact words only. In the blurb above, "shoes" appears three times and "shoe" once, and they get separate rows. "run", "runners" and "running" are three different words to it. If you are checking how often a topic comes up, add the variants together yourself: here that's 4 mentions of shoe or shoes.

It also counts single words, not phrases. "trail" and "running" each show 3, but that doesn't tell you how often "trail running" appears as a pair. To count a phrase, use your browser's find-in-page (Ctrl+F or Cmd+F) on the text and read the match count.

What the density figure is good for

Search engines don't publish a target density, and writing to a percentage tends to produce stilted copy. Use the table for things you can act on:

  • Spotting repetition. If a word you didn't mean to stress sits near the top, a reader will notice it too. Swap in a synonym or cut a sentence.
  • Checking coverage. If the main subject of the page doesn't appear in the table at all, the text may be vaguer than you think.
  • Comparing drafts. Run the before and after versions of an edit and see which words changed.

Be careful with short texts. In a 14-word sentence, one word used 3 times is already 21.4%. Percentages mean more on full articles than on a title or a paragraph.

Text that throws the count off

Only the letters a–z, digits and the straight apostrophe count as parts of a word. Anything else splits a word or disappears:

  • Accented letters split words. "café" is counted as "caf". The checker is built for English text.
  • Hyphens split words. "e-mail" becomes "e" (counted in the total, hidden from the table) and "mail".
  • Curly apostrophes split words. "don't" typed with a straight apostrophe is one word; "don’t" with a curly one from a word processor becomes "don" and "t".
  • Numbers count as words. "COVID-19" gives "covid" and "19".

Paste only the body copy. Menus, footers and cookie notices copied along with an article add words that aren't part of what you wrote.

Frequently asked questions

What keyword density should I aim for?+

There is no figure to aim for. Write for the reader, then use the table to catch a word that is repeated so often it sounds forced. If the copy reads naturally aloud, the density is fine whatever the number says.

Why doesn't the total match my word processor's count?+

Hyphenated words and words with curly apostrophes are split into two here, and stray numbers count as words. A word processor usually counts each of those as one, so this checker's total is often a little higher.

Can I check text in Spanish, French or Hindi?+

Not reliably. Accented letters are dropped, which splits words, and scripts other than Latin aren't counted at all. The results are only meaningful for English.

Embed this tool on your website

Free to use on blogs, school sites and intranets. Paste this code into your page's HTML; please keep the credit line.

<iframe src="https://utilityapp.lat/embed/seo/keyword-density-checker" title="Keyword Density Checker" width="100%" height="600" style="border:0;max-width:760px" loading="lazy"></iframe>
<p style="font-size:13px"><a href="https://utilityapp.lat/seo/keyword-density-checker">Keyword Density Checker</a> by UtilityApp</p>