Keyword Density Checker - Word Frequency and Top Phrases, Free
Paste an article or a page of copy and see which words and phrases it leans on.
Maintained by Hirantha Sandaruwan Lakshan. Updated 13 October 2026.
About this tool
The tool counts every word, shows each word's count and its share of all the words, and lists the most used two-word and three-word phrases. You can hide common words such as the and of, set a minimum count, sort any column and copy the table as CSV. It works for English, Sinhala, Tamil and other scripts, and the text never leaves your browser.
How it works
Splitting into words. The text is first normalised so that composed and decomposed accents count as the same letters. Then it is cut into words with the Unicode word boundary rules (UAX #29), through the browser's Intl.Segmenter. A word such as don't stays whole, and Sinhala and Tamil text is split at real word edges, with each letter's vowel signs staying attached. A browser without Intl.Segmenter falls back to a simpler rule: a word is a run of letters, marks and digits, optionally joined by an apostrophe. A number such as 2,000 counts as one word.
The percentage. Total words is every word in the text, stop words included. The percentage for a word is its count divided by the total words, times 100. A phrase works the same way: the number of times its words appear next to each other, in that order, divided by the total number of words. The count of a phrase is not multiplied by its length. Phrases never run across the end of a sentence (. ! ? ; : the ellipsis mark, or the danda used in Hindi) or across a blank line.
Stop words. With the stop-word switch on, single words from a list of 184 common English function words (articles, pronouns, prepositions, linking words, auxiliary verbs and contractions) are left out of the single-word table, and phrases that start or end with one are left out of the phrase tables. A stop word in the middle, as in state of the art, is kept. The percentages still use all the words, so they do not change when you flip the switch. The list is our own and is shown in full below the tool and on this page.
What the numbers are for. There is no ideal keyword density. Google's spam policies describe keyword stuffing as filling a page with keywords in an attempt to manipulate rankings, and one of its examples is repeating the same words or phrases so often that it sounds unnatural. That page gives no percentage to aim for, in either direction. Use the table to catch a word or phrase you repeat out of habit, and to see whether the words you meant to cover appear at all. Then read the text aloud: if it sounds natural, the numbers do not matter.
Worked examples
The sample text: 92 words about Ceylon tea
In the 92-word sample, tea appears 10 times, which is 10.87% (10 / 92 x 100), and Ceylon appears 4 times, 4.35%. The phrase ceylon tea appears 4 times, also 4.35%. With the stop-word filter on, the, and and from drop out of the single-word table. With it off, the also appears 10 times and and 5 times. A reader of that paragraph would notice that tea is repeated a lot, and that is what the table shows.
Checking one target phrase
Type green tea in the target box. The sample text never uses it, so the answer is 0 times, a gap if the page is meant to cover green tea. Type ceylon tea and the answer is 4 times, 4.35% of the words. A target phrase is matched the same way as the table, so capital letters are ignored when that option is on.
Sinhala text
The Sinhala name of Sri Lanka, ශ්රී ලංකාව, is counted as 2 words, not as a row of single letters, because the word rules keep each letter together with its vowel signs and its al-lakuna and joiner marks. Common Sinhala words will appear in the table, since the stop-word filter only knows English.
The 184 English stop words used when the filter is on (our own list of common function words)
| Group | Words | How many |
|---|---|---|
| Articles and determiners | a, an, the, this, that, these, those, such, each, every, some, any, no, other, another, both, all, more, most, few, own, same | 22 |
| Pronouns | i, me, my, myself, we, us, our, ours, ourselves, you, your, yours, yourself, yourselves, he, him, his, himself, she, her, hers, herself, it, its, itself, they, them, their, theirs, themselves, who, whom, whose, which, what | 35 |
| Prepositions | of, in, on, at, by, for, with, about, against, between, into, through, during, before, after, above, below, to, from, up, down, out, off, over, under, again, further, as, until, while, within, without, across, around, among, per, via | 37 |
| Conjunctions and linking words | and, but, or, nor, so, yet, if, because, than, then, once, here, there, when, where, why, how, only, very, just, too, also, not, now, even, still, however, therefore | 28 |
| Auxiliary and common verbs | am, is, are, was, were, be, been, being, have, has, had, having, do, does, did, doing, will, would, shall, should, can, could, may, might, must, get, gets, got | 28 |
| Contractions | i'm, i've, i'll, i'd, you're, you've, you'll, you'd, he's, she's, it's, we're, we've, we'll, they're, they've, they'll, that's, there's, let's, isn't, aren't, wasn't, weren't, don't, doesn't, didn't, can't, won't, wouldn't, couldn't, shouldn't, haven't, hasn't | 34 |
Frequently asked questions
What is a good keyword density?
There is no number to aim for. Google's spam policies treat repeating words so often that the text sounds unnatural as keyword stuffing, and they give no safe percentage. Write for the reader, then use the table to check for overuse and for important words that are missing.
How is keyword density calculated?
Count how many times the word or phrase appears, divide by the total number of words in the text and multiply by 100. In the sample, tea appears 10 times in 92 words: 10 / 92 x 100 = 10.87%. Some tools multiply a phrase's count by its length. This one does not, so a two-word phrase and a one-word term are comparable.
Does it work for Sinhala and Tamil?
Yes. Words are split with the Unicode word rules, so each Sinhala or Tamil word is counted once, with its vowel signs attached. The stop-word filter only knows English, so very common words in those languages will appear in the table.
Are plurals and other word forms counted together?
No. Tea and teas are different words, and so are run and running. Words are matched as written, apart from capital letters, which you can choose to ignore, and accents written in composed or decomposed form, which are treated as the same.
How much text can it handle?
A test text of 200,000 words, about 1.7 million characters, was split and counted in under a second on our test computer. A phone takes longer. The tool reads at most 5,000,000 characters and tells you if your text is longer than that.
Why do phrases stop at the end of a sentence?
Two words on either side of a full stop are not a phrase a reader would say. Phrases therefore never run across . ! ? ; : or a blank line. A comma does not break a phrase.
Is my text uploaded or saved?
No. The counting is done by code running in your browser tab. Nothing is sent to a server and nothing is stored when you close the page.
Sources & references
Updated Oct 13, 2026