Keyword density is the share of a piece of text accounted for by a single word or by an exact phrase, calculated by dividing that word or phrase's count by the total number of recognized word tokens and multiplying by 100. Checking it means running that calculation against your draft so you can see, with a transparent denominator, how often each term actually appears rather than guessing from memory. The Keyword Density Checker does exactly this in the current browser tab: you paste the visible text, optionally enter an exact phrase whose repetition you want to inspect, choose how short a single-word row is allowed to appear in the frequency table, and then read counts and percentages for the top 50 eligible words alongside the phrase result. Every percentage on the page uses the same denominator — all recognized tokens — which is the only way to compare a filtered table to a single phrase without quietly inflating one number. Tokenization treats Unicode letters and digits as word characters, so accented and non-Latin scripts remain countable, while punctuation, dashes, and whitespace split tokens. Apostrophes inside a word such as don't or l’été stay attached to that token, so possessive and contracted forms are not split into misleading fragments.

how to check keyword density
how to check keyword density

What the Report Actually Counts, and What It Leaves Out

The report covers four figures that work together: total word tokens, unique normalized tokens, the 50 most frequent eligible single words, and the optional contiguous phrase. Total tokens is the single denominator used by every percentage on the page, including the phrase percentage. Unique tokens is the size of the vocabulary in your pasted text. The 50-word table is a sorted view of the most repeated words, with row visibility controlled by a minimum-length setting so very short tokens can be hidden without changing the totals.

Several features that other keyword tools bundle in are deliberately absent. There is no stop-word list, no stemming or lemmatization, no language detector, no HTML boilerplate remover, no synonym expansion, no search-volume lookup, and no live URL fetching or JavaScript rendering. The text is also not sent to an AI model; analysis runs entirely in the open browser tab. Those omissions matter because every one of those features requires a language- or corpus-specific reference that the checker does not embed. A stop-word list, for example, would silently remove short common words and quietly change what the denominator includes. By keeping tokenization visible and rule-based, the report stays reproducible: paste the same text twice and you get the same numbers.

How to Check Keyword Density in Three Steps

  1. Paste the visible text you want to inspect. Open the Keyword Density Checker, copy the main body of your draft — not the navigation, footer, sidebars, or repeated templates — and paste it into the text area. The input is bounded at 500,000 characters; empty or token-free content is rejected rather than producing a misleading zero report. If you also want to inspect a specific multi-word phrase, enter that exact phrase in the optional query field.
  2. Choose the minimum word length and run the analysis. Pick the minimum number of characters a single-word row needs before it appears in the table. A value of two, for instance, hides one-character rows. Click the button to start the analysis. Tokenization converts text to lowercase using Unicode rules, splits on punctuation, dashes, symbols, and whitespace, and keeps internal straight or typographic apostrophes attached to a token.
  3. Read counts and surrounding prose, not just percentages. Look at total tokens, unique tokens, the table of top 50 words, and the optional phrase result. Treat each percentage as descriptive evidence: a 4.2% share means that exact term accounts for 4.2% of every recognized word token in your pasted text. Read the sentences around repeated terms to judge whether the repetition feels natural or excessive.

How Single-Word and Phrase Density Share the Same Denominator

The single-word table and the phrase result behave differently in matching but share the same denominator, so you can compare them without recalculating. A single-word density is that word's count divided by total tokens, multiplied by 100. The phrase is tokenized with the same rules, matched as a contiguous sequence, allowed to overlap, and reported as occurrence count divided by total tokens, multiplied by 100. The phrase percentage is not divided by the number of possible starting positions and is not multiplied by phrase length, which means a two-word phrase and a five-word phrase at the same occurrence count will produce the same percentage when total tokens are equal.

AspectSingle-word densityPhrase density (optional query)
Match unitOne normalized tokenContiguous token sequence, may overlap
Case sensitivityCase-insensitive via Unicode lowercaseCase-insensitive via Unicode lowercase
DenominatorAll recognized word tokensAll recognized word tokens
Effect of row filterHidden rows still count toward the denominatorRow filter does not apply to the phrase result
Limit on rows shownTop 50 eligible single wordsOne dedicated row

That last row matters when interpreting results: hiding short words from the table does not pretend they were absent from the source. Total tokens still includes every recognized word, so percentages stay comparable to earlier drafts even if you raise the minimum length.

Reading a Density Report: A Worked Example

Consider the sentence “Red blue red. RED green blue red-blue.” The tokenizer counts eight total word tokens: red, blue, red, red, green, blue, red, blue. “Red” appears four times, so its density is 4 ÷ 8 × 100 = 50%. “Blue” appears three times for 3 ÷ 8 × 100 = 37.5%. “Green” appears once for 1 ÷ 8 × 100 = 12.5%. The exact phrase “red blue” occurs twice as a contiguous sequence — once at the start of the sentence and once at the end — so its phrase density is 2 ÷ 8 × 100 = 25%.

The hyphenated “red-blue” is split into two tokens by the dash, so each half is counted separately. This is the kind of detail that can surprise readers who expect hyphenated compounds to count as one word, and it is the reason the checker describes its tokenization rules in plain language rather than treating them as implementation details.

Comparing Drafts Without Distorting the Numbers

When you revise, run the same text through the checker with the same minimum-length setting so the comparison is valid. The tool does not store revisions, so each run is independent, but reproducibility is high because the rules are deterministic: lowercase first, then tokenize, then count, then divide by total tokens. If you switch the minimum length between drafts, the percentages themselves do not change, but the table content does, which can make a clean comparison feel inconsistent. For a deeper walkthrough of how the formula interacts with the optional phrase, see Calculate Keyword Density Without Guesswork.

When Density Should Change Your Copy, and When It Shouldn't

Density is a descriptive signal, not a target. Search engines weigh usefulness, intent satisfaction, originality, structure, links, reputation, and many other signals; a single percentage does not represent a path to higher ranking. Google's spam policies document describes keyword stuffing as loading pages with words or numbers in ways that are difficult to read and that do not provide value, and it lists repetitive use of the same words or phrases as one trigger for that classification. The most useful reaction to a high percentage is to read the surrounding sentences, decide whether the repetition helps the reader, and rewrite only the parts that feel mechanical.

The report is most useful when it surfaces three specific editorial issues. First, accidental repetition of a phrase you only meant to mention once or twice. Second, missing terminology you actually meant to include, which the table can reveal by absence rather than excess. Third, imbalance between the words the topic needs and the words that crept in from a template or from earlier paragraphs you forgot to trim. Treat the percentages as evidence for those judgments, not as instructions.

Practical Habits for a Clean Density Reading

A few habits keep the report honest. Paste only the main body of the final draft, not navigation menus, footer text, repeated author bios, or markup that no visitor sees. Run the analysis once with no minimum-length filter to confirm the totals, then raise the filter to focus on longer words without losing comparability. Always read the original sentences around any repeated term before deciding to rewrite, because context explains frequency that the percentage cannot. If you switch languages between drafts, remember that tokenization is Unicode-aware but the rest of the rules — denominator, sort order, optional phrase — are unchanged, so a French sentence and an English sentence can be compared on the same axes as long as the same minimum-length setting is used.