Keyword Density Checker

Paste the text of a page and this keyword density checker lists the one, two and three word phrases it repeats most, with each count and its share of all words. Add a target keyword to see its count, density and first position. The tool shows what your text contains; it does not score ranking potential. Nothing is uploaded or saved.

0 B of 5 MB

Analyzed in this browser tab. Nothing is uploaded or saved.

Counted as exactly these words next to each other. Capital letters do not matter.

Limits: Up to 5 MB of text. Larger input is refused with a message.

Results

Total words
0
Different words
0
Target keyword count
-
Target keyword density
-
Target first at word
-

How to use the Keyword Density Checker

  1. Paste your text into the box, or press Load the example.
  2. Read the total word count and the three phrase tables; they refresh after you stop typing.
  3. Type a target keyword to see its count, density and first position.
  4. Adjust the stop word and list settings, then press Copy results or Copy as CSV.

Worked example

A short note on watering houseplants, checked for the target phrase water the soil with the default settings. Press Load the example above the results to fill in the text, the target and the settings listed under it; the figures below are what the tool shows.

Watering houseplants on a schedule is easier than guessing. Most houseplants prefer dry soil between waterings, so press a finger into the soil before you water. Overwatering kills more houseplants than neglect does. Water the soil slowly until water drains from the pot, then empty the saucer. Water the soil again only when you find dry soil an inch down.
Target keyword or phrase (optional)
water the soil
Ignore common English stop words
on
Shortest phrase to list, in words
1
Only phrases used at least this many times
2
Phrases to list in each table
10
Total words
60
Different words
43
Target keyword count
2
Target keyword density
3.33%
Target first at word
34
One word phrases
soil 5 (8.33%), water 4 (6.67%), houseplants 3 (5.00%), dry 2 (3.33%)
Two word phrases
dry soil 2 (3.33%)
Three word phrases
water the soil 2 (3.33%)

How to read the results

Total words
Every word found in the text, stop words included. It is the number every density is divided by, and it does not change when you switch stop words on or off.
Different words
How many distinct words the text uses once capital letters are ignored. A text that repeats itself has a low figure next to its total.
Target keyword count, density and first position
How often the exact words of your target appear next to each other, the same count as a percentage of all words, and the number of the word where it first appears (1 is the first word of the text). A target that is not in the text shows a count of 0 and Not found.
The phrase tables
Each table lists the most used phrases of that length: the phrase in lowercase, how many times it appears and its density. Phrases with the same count are listed in the order they first appear in your text.
Stop words, shortest phrase, minimum uses and phrases to list
These settings narrow the tables and never change the total or any density. A table with nothing in it says that no phrase reached the minimum, and lowering the minimum to 1 lists everything.
Copy results and Copy as CSV
Copy results gives plain text, one phrase per line. Copy as CSV gives a table with the columns Kind, Phrase, Count and Density %, ready to paste into a spreadsheet.

How this tool works and its limitations

Text is cut into words in this browser. Letters and digits make a word, and a hyphen or an apostrophe between two of them stays inside it, so well-known and don't are one word each, as they are in the Word and Character Counter. A comma or period between two digits stays too, so 1,000 and 3.14 are one word. Anything else ends a word: other punctuation, symbols, emoji, slashes and a hyphen with spaces around it. Chinese and Japanese letters count as one word each, and Thai, Lao, Khmer and Myanmar text is split with the browser's own dictionary, using the same code as the counter.

Capital letters are folded with the browser's lowercasing after the text is put in Unicode normal form, so a letter typed with a separate accent equals the single accented letter. The Turkish dotted capital I becomes a plain i, the dotless i stays its own letter, and the German sharp s stays different from ss. Curly apostrophes become straight ones.

A phrase is two or three words with only spaces between them. Each phrase is counted at every position, so phrases overlap, and the lists are sorted by count with ties kept in the order of first appearance. A text is cut into words once, so changing a setting or the target does not repeat that work. Large pastes are processed in short steps with a pause between them, which keeps typing and scrolling responsive, and nothing is stored or sent.

Copy as CSV follows RFC 4180, with comma separators and CRLF line ends. As a safeguard against spreadsheet formulas, any cell that starts with an equals sign, a plus sign, a minus sign or an at sign gets an apostrophe in front of it; phrases here start with a letter or a digit, so the safeguard is rarely needed.

The stop word list has 182 words: a, about, above, after, again, against, all, also, am, an, and, any, are, aren't, as, at, be, because, been, before, being, below, between, both, but, by, can, can't, cannot, could, couldn't, did, didn't, do, does, doesn't, doing, don't, down, during, each, few, for, from, further, had, hadn't, has, hasn't, have, haven't, having, he, he'd, he'll, he's, her, here, here's, hers, herself, him, himself, his, how, how's, i, i'd, i'll, i'm, i've, if, in, into, is, isn't, it, it's, its, itself, just, let's, may, me, might, more, most, must, mustn't, my, myself, no, nor, not, of, off, on, once, only, or, other, ought, our, ours, ourselves, out, over, own, same, shall, shan't, she, she'd, she'll, she's, should, shouldn't, so, some, such, than, that, that's, the, their, theirs, them, themselves, then, there, there's, these, they, they'd, they'll, they're, they've, this, those, through, to, too, under, until, up, very, was, wasn't, we, we'd, we'll, we're, we've, were, weren't, what, what's, when, when's, where, where's, which, while, who, who's, whom, why, why's, will, with, won't, would, wouldn't, you, you'd, you'll, you're, you've, your, yours, yourself, yourselves. These limits are worth knowing:

  • The tool describes the text you paste. It does not score ranking potential, and no density it prints is a target to reach or a limit to stay under.
  • Words are matched in the exact form typed, with no stemming: shoe, shoes and shoeing are three words, and a target keyword finds only the form you enter.
  • The stop word list is English only, so for a text in another language switch the option off, or its common words will crowd the lists. A few listed words, such as will and may, can also be nouns, and switching the option off brings them back.
  • A phrase never runs across punctuation, a symbol, an emoji or a line break, so text broken into short lines, such as a hard wrapped email, loses the phrases that straddle each break.
  • Web addresses, words joined by a slash and words joined by an en or em dash are split into their parts, so the total can differ a little from the Word and Character Counter, which counts each of those as one word. A hyphen keeps a word whole in both tools, and a dash or hyphen with spaces around it splits in both.
  • Chinese and Japanese letters count as one word each, so a phrase of those scripts is two or three letters in a row, not a dictionary word. Such a phrase is always shown with its letters joined, even where the text had a space between two of them, because occurrences with and without the space are counted as one phrase. Thai, Lao, Khmer and Myanmar words come from the dictionary in your browser and can differ between browsers.
  • Capital letters are folded without knowing the language: a Turkish capital I becomes an ordinary i rather than a dotless one, and the German sharp s stays different from ss.
  • Text larger than 5 MB is not analyzed. In a test in Chromium on a laptop, a 1 MB paste was analyzed in about 0.25 seconds and a 5 MB paste in about 1.1 seconds, including the short wait before work starts, and the page was never blocked for more than 50 milliseconds at a time. A phone is slower, and a text with very many different words can take a little longer than a repetitive one.

Features

  • One, two and three word phrases with exact counts and density.
  • A published list of 182 English stop words you can switch off.
  • Hyphenated words and contractions stay whole, and Coffee and coffee are one word.
  • Pastes up to 5 MB are analyzed in small steps, with no upload and nothing stored.

What Google says about keyword density

Google does not publish an ideal keyword density, and the Google pages read for this tool in October 2026 give no percentage. Its spam policies define keyword stuffing as filling a page with keywords or numbers to manipulate rankings, and give as an example repeating the same words or phrases so often that it sounds unnatural. The SEO Starter Guide says excessively repeating the same words, even in variations, is tiring for users, and that there is no magical word count target. Read the figures here as a description of your draft, not a goal to hit or a ceiling to stay under.

How density is worked out

Density is the number of times a phrase appears divided by the total number of words, as a percentage. In 200 words, a keyword used 6 times has a density of 3.00 percent. A two or three word phrase is counted by how often it appears, not by the words it covers, so a two word phrase used 6 times in 200 words is also 3.00 percent. Some tools multiply by the phrase length, which is one reason tools disagree. Overlapping phrases all count: red running shoes holds red running and running shoes.

Why stop words and word forms change the lists

Without a filter, the lists fill with words such as the, and and of. Ignoring stop words removes them from the one word list and drops any phrase that begins or ends with one, but keeps a stop word inside a phrase, so bed and breakfast stays while the best goes. Matching is exact: water, waters and watering are three words, so a target keyword is counted only in the form you type.

Frequently asked questions

Is there an ideal keyword density?

Google has not published one, and its spam policies and starter guide give no percentage. Figures such as 1 or 2 percent in articles are tool makers' rules of thumb, not Google guidance. Use the counts to check that your text reads naturally.

What is keyword stuffing, and does this tool detect it?

Google's spam policies describe it as filling a page with keywords or numbers to manipulate rankings. This tool only counts. It has no threshold, gives no warning and cannot judge whether a sentence reads naturally, so that call is yours.

Why does another keyword density tool show different numbers?

Tools differ on stop words, on hyphenated words, on how a web address is split and on whether a phrase is multiplied by its length. This page states each of its rules, so you can find the one that explains a gap.

Does the checker upload or save my text?

No. The text stays in the page you have open, is never sent anywhere or written to browser storage, and spell checking is off in the box. Closing the tab clears it.

Why is my keyword not found when it is in the text?

Matching is exact. The word forms must match, so run does not find running, and the words must sit next to each other with only spaces between, so a comma or a line break splits a phrase. A hyphen stays inside a word, so well known and well-known differ.

How much text can it handle?

Up to 5 MB. Larger text is refused with a message. Speed depends on your device, and the page keeps responding while it works; the limitations below give the measured times.

Last updated .