Check keyword density in words and phrases
Count literal one-, two-, or three-word phrases and see every percentage against one visible source-token denominator.
- SECURE
- NO UPLOADS
- NO SIGNUP
- BROWSER BASED
- FREE
- FOREVER.
Support us with a link or a share
Tokenizer and density receipt
unicode-word-nfkc-v1 · lowercase Unicode letters and numbers, internal apostrophes kept, 1–3-word windows stop at source lines and . ! ? ; :. No stemming or synonyms.
Formula: occurrences ÷ all source tokens × 100. Current denominator: 0 tokens.
Complete English stop list: the, a, an, and, or, but, of, to, in, on, at, for, is, are, was, were, be, been, it, its, this, that, with, as, by, from, has, have, had, not, no, so, if, then, than, they, their, them, we, our, you, your, i, he, she, his, her.
Nothing at the counter yet.
Check keyword density with a denominator you can audit
Paste an article, landing-page draft, transcript, or any other text. Every displayed percentage uses the same formula: literal occurrences divided by all source tokens, multiplied by 100. The source-token total stays in the result and in every downloaded CSV row. It does not silently shrink when a display filter hides common words.
That distinction matters. If the is hidden from a five-token source, a remaining word that occurs once still has 20% density, not 25%. Hiding a row changes what is convenient to inspect; it does not rewrite the source that was measured. The complete English stop list is printed in the settings rather than concealed behind a generic “smart filtering” label.
One-, two-, and three-word phrases use visible boundaries
Choose one word for individual terms, or two and three words for literal phrases. Phrase
windows overlap, so go go go contains two occurrences of go go.
They never cross a source line, sentence-ending punctuation, a semicolon, or a colon. A
heading on one line therefore cannot accidentally merge with the first words of the next
paragraph and produce a phrase that was never written.
Punctuation inside a segment separates tokens without inventing extra words. Capitalization is folded, canonically equivalent Unicode text is normalized, and straight or curly internal apostrophes are treated alike. The tokenizer keeps Unicode letters and numbers, so accented Latin and many non-English scripts are not reduced to ASCII fragments. It does not stem plurals, infer synonyms, or claim reliable word segmentation for scripts normally written without spaces.
Density is evidence, not an SEO score
A repeated phrase can reveal an accidental verbal tic, an overused product label, or a term that must appear often because the document is about it. The count cannot decide which case applies. There is no universal ideal keyword percentage, and reaching a target number does not prove that a page deserves to rank. This checker therefore has no green score, stuffing warning, pass/fail threshold, or recommendation to add more repetitions.
Read a surprising row in context. If the prose sounds forced, edit for the reader and run the count again. If the repetition is necessary and clear, the high percentage is simply a true description. The exported receipt preserves phrase length, tokenizer version, denominator, counts, percentages and the stop-word state so two drafts can be compared without guessing which settings produced them.
Keyword density and word frequency are related, not identical jobs
The word frequency counter answers a general language question: which individual words recur, and how large is each word’s share of the filtered frequency table? This page answers the SEO-audit formulation with literal phrase windows and an invariant all-source-token denominator. The two tools share their tokenizer and English stop-word definition, so the same text is not interpreted two incompatible ways.
This version accepts pasted text and local text files. It does not fetch a URL. Extracting visible page text from a remote site introduces redirects, private-network safety, robots policy, rendered JavaScript, navigation, headings, metadata, hidden content and boilerplate. Treating that network-and-DOM job as if it were a textarea would make the percentage look precise while leaving its source undefined. Local processing keeps both the privacy promise and the measurement boundary straightforward: your text stays in this tab.
Questions
How is keyword density calculated?
Each row uses literal occurrences divided by every source token, multiplied by 100. A phrase that occurs twice in a 100-token source therefore has 2% density. The same source-token denominator is used for one-, two-, and three-word phrases.
Does the checker recommend an ideal keyword percentage?
No. A percentage describes literal repetition; it does not prove relevance, quality or ranking potential. Search systems also use context, meaning and many off-page signals. This tool gives an auditable count rather than an SEO score or target.
Which words does the stop-word filter hide?
The settings panel prints the complete short English list. It hides only matching one-word rows. It does not remove tokens from the source, change the percentage denominator, join phrases across removed words or apply to non-English text.
Can I check two-word and three-word keyword phrases?
Yes. Select two or three words to count overlapping phrase windows. A phrase cannot cross a source line or the punctuation marks period, exclamation mark, question mark, semicolon or colon.
Does this checker fetch a web page URL?
No. Paste draft or page text, or choose a local text file. Remote page fetching has different extraction, privacy and network-safety requirements, so this version does not pretend a URL and plain text are interchangeable inputs.