Keyword Density Checker

Count words, phrases and letters in pasted text, and highlight repeated words where they appear.

Inputs stay on your device No sign-up Free to use
How this works

The tool runs in this browser. Your file or text is not uploaded to UseFreeTools. Check this tool's limits for anything it may save on your device.

Privacy details

Count keyword use controls

Showing an example. Edit to see your own.

Paste page text or HTML, up to 200,000 characters. Tags, scripts and comments are dropped before the words are counted.

Common words such as the and and are counted in the totals but hidden from the single-word rows.

Processed in your browser. Your inputs stay on this device.

How to use Keyword Density Checker

  1. Paste the page text, or the page HTML, into the box. Tags, comments, scripts and styles are dropped before counting.
  2. Leave the common-word filter on to hide words such as the and and, or switch it off to list every word.
  3. Read the live counts and letter frequencies. In Repeated words where they appear, mark all repeats or select one word.
  4. Compare a term that surprised you with the sentence around it, then edit the page and run the count again.

Example: Keyword Density Checker

See which words repeat in a short paragraph, with the common words hidden.

You add
The 13-word text: Cold brew ratio. Cold brew water. Cold water ratio. Milk and the water. The common-word filter is on.
You get
13 words and 7 unique words. The table lists Cold (3, 23.1%), water (3, 23.1%), brew (2), ratio (2) and Milk (1), then the two-word phrase Cold brew (2, 15.4%). No three-word phrase repeats, and 2 common words are hidden.

Options

Common-word filter
On, the single-word rows hide words such as the, and and of so the terms that carry meaning stand out. The totals still count them, so the share column stays a share of every word. Switch it off when a short common word is the point of the check.
Share of words
The share is the number of sightings divided by every word in the sample. A three-word phrase counted five times shows a share of five sightings, not fifteen, so a phrase and a single word are measured the same way.

Supported inputs and limits

Up to 200,000 characters and 50,000 words in one run. Tags, comments, script and style blocks are removed first, and HTML entities are decoded, so a literal angle bracket in plain text can be mistaken for a tag. Words made only of digits are ignored, and an apostrophe or hyphen inside a word is kept, so don't and well-known stay one term. Phrases are counted across consecutive words, so overlapping repeats count, and a phrase is listed once it appears at least twice. The table shows the 15 most frequent words, the 8 most frequent two-word phrases and the 5 most frequent three-word phrases, so a term below the cut is not shown even though it was counted. The page reports the counts and the share of words it measured. No search engine publishes a target density that this page can check against, and a high count is not evidence of a ranking problem or a ranking benefit. Letter counts ignore case and count Unicode letters individually in the cleaned text; combining marks are not separate letters. The text result shows the 40 most frequent letters. The preview marks at most 4,000 occurrences and offers the 200 most frequent repeated terms by name; All repeated words covers every term within that mark limit. A notice explains any preview limit.

Where your input is processed

This tool processes your input in this browser. Your text and files are not uploaded to UseFreeTools. Check this tool's limits for anything it may save on your device.

What a density figure does and does not tell you

Density is a count divided by the words around it. It is easy to measure and easy to misread, because a useful phrase that belongs on the page and an accidental repetition look identical in a table. Read the count beside the sentence it came from. A term used often in a short paragraph can hold a high share without being wrong, and a term used twice in a long article can hold a low share while being exactly right. Treat the table as a map of what the page talks about, then decide from the writing whether the balance matches the page. Search engines describe ranking in terms of content that helps the reader and do not publish a density target, which is why this page reports the numbers without scoring them.

Google Search Central, Creating helpful, reliable, people-first content

Questions about Keyword Density Checker

What keyword density should I aim for?

There is no published target to aim at. Search engines rank pages on many signals and none of them publishes a density figure. Use the count to notice a term you repeated by accident, or a term you meant to use and never did, then read the sentences around it.

Why is a word I can see on the page missing from the list?

Two reasons are common. The single-word rows show the 15 most frequent words, so a word used once can sit below the cut, and the common-word filter hides words such as the and of while the filter is on. The totals above the table still count every word.

How are the two-word and three-word phrases counted?

The counter walks the words in order and counts every run of two or three consecutive words, so overlapping repeats each count once. A phrase is listed once it appears at least twice, and a phrase made only of common words, such as of the, is dropped because it carries no meaning on its own.

Does the counter read the words inside HTML tags?

No. Comments, script blocks, style blocks and tags are removed before the words are counted. If your text uses a literal angle bracket, such as in a math expression, the reader can mistake it for a tag, so compare the first lines of the text result with your source when that matters.

Do the highlights show positions in my HTML source?

They show positions in the cleaned text used for counting. Tags, comments and hidden script/style blocks are removed, so those positions differ from source-code offsets. The common-word filter also applies to the marks. Pasted markup is displayed as text, never executed.

Project manager: Tony Hines · Content updated 30 September 2026 · Report a problem