Private, browser-based analysis

Keyword Density Checker

See which words and exact phrases dominate your draft, track chosen targets, and spot accidental repetition—without chasing a made-up SEO score.

Analyze your text

Paste the main copy only. Menus, footers, and other boilerplate can distort a page-level comparison.

Your draft stays here. Analysis runs locally in this browser. The tool does not send, save, or fetch your text.

Repeated words and phrases

Ranked by count, then alphabetically. Up to 100 rows are shown.

#Word or phraseCountDensityShare of matching windows
Paste text and choose Analyze text.

Density = occurrences ÷ total words × 100. Window share = occurrences ÷ possible consecutive phrases of that length × 100. Exact phrases may overlap; punctuation separates words but does not break adjacency.

What keyword density can—and cannot—tell you

Keyword density is a descriptive measurement of repetition. It can reveal a phrase you forgot to mention, boilerplate that overwhelms the main copy, or wording that appears so often it distracts a reader. It is not a ranking prediction, a quality score, or proof that a search engine understands the page.

There is no universal “ideal” percentage. Read the repeated wording in context. If a phrase sounds unnatural, rewrite it for clarity instead of trying to hit a numeric target.

How to use the checker

  1. Paste the body copy you actually want to assess. For fair comparisons, use the same content boundaries each time.
  2. Add one or more target phrases if you want exact-match counts. Variants and synonyms are intentionally counted separately.
  3. Review one-word results for dominant vocabulary, then two- and three-word results for repeated framing.
  4. Use the count and first-position details to inspect the writing itself. Keep repetition only when it helps the reader.

How the analysis works

Word detection and matching

The checker uses Unicode letter-and-number matching for space-delimited scripts and applies the browser’s locale-aware word segmenter only to contiguous runs of scripts that need dictionary-style boundaries. This keeps Latin apostrophe and hyphen handling unchanged when unrelated Chinese, Japanese, Thai, or other text is added. Matching is case-insensitive and uses normalized text. Exact phrase counts require the same consecutive word sequence; stemming, singular/plural expansion, and semantic similarity are not guessed.

Stop words and exclusions

Hiding common English words affects only which rows appear in the frequency table. It never changes the total-word denominator and never joins words that were separated by a removed term. Custom exclusions work the same way and accept individual words only; a multiword entry is rejected instead of silently hiding each component. Target phrase cards are always reported, even if they contain a hidden word.

Limits worth knowing

  • The 200,000-character limit keeps analysis responsive on typical devices.
  • Word boundaries vary by language and browser. Scripts without spaces may be segmented differently across engines.
  • The checker analyzes pasted plain text, not HTML structure, links, headings, metadata, images, intent, or topical completeness.
  • Reading time uses a simple 200-words-per-minute estimate and is not a performance metric.

Privacy

Your text is processed entirely in the current browser tab. This page does not upload drafts, fetch URLs, create reports on a server, or retain the text after you reset or leave the page.