Keyword Density Checker

See which words and phrases recur in your content. Compare counts, inspect one target phrase and review frequency without chasing an ideal percentage.

Enter one to three words within one sentence. The target is checked even if hidden by the stop-word filter or absent from the ranked list.

Keyword density measures how often a word or phrase occurs in a piece of text. Screpy’s keyword density checker analyzes pasted content or text extracted from one public URL. It lists repeated one-, two- and three-word terms, their counts and frequency percentages, with an optional check for one target phrase.

Use the report to find wording worth rereading. A high count can be appropriate for a technical term, a product name or a short explanation. It does not, by itself, tell you whether the writing is helpful, overoptimized or likely to rank. The useful question is where repetition makes the page clearer and where it gets in the reader’s way.

Choose the text and language to analyze

Choose pasted text when you want to inspect a particular article, product description or unpublished draft. Include the whole passage you intend to assess; adding unrelated menus or notes changes the counts. For a published page, enter its public HTTP or HTTPS URL. URL mode analyzes selected text from the returned source HTML, so it is useful for checking what the page actually supplies rather than assuming the editor and published version match.

Select the language of the content, even if you are using Screpy in a different interface language. Language-aware segmentation determines word and sentence boundaries. The checker includes word-like numeric tokens and normalizes letter case using the selected language’s rules. It retains accents and does not combine synonyms or different grammatical forms.

That means a plural and a singular may appear as separate terms. A concept can also be expressed several ways without repeating the same token sequence. The report measures the words supplied, not every reference to the underlying idea. Keep this distinction in mind before concluding that a topic is missing.

How the keyword density calculation works

For one word, frequency is its occurrence count divided by all word-like tokens, multiplied by 100. For a two- or three-word phrase, Screpy divides by the available windows of that length within detected sentences. A four-word sentence has three two-word windows and two three-word windows. Shorter sentences contribute fewer windows, and a sentence shorter than the phrase contributes none.

The windows overlap. In the illustrative text “SEO SEO SEO”, the two-word sequence “seo seo” occurs twice: words 1–2 and words 2–3. Both count. Phrases never cross a detected sentence boundary, although punctuation inside a sentence can separate tokens without ending the sentence. Matching therefore follows the normalized word sequence rather than literal punctuation or capitalization.

Each phrase length has its own denominator. Do not compare a two-word percentage directly with a single-word percentage as if they measured the same pool. If no windows exist for a phrase length, the percentage is undefined. That differs from a valid set of windows in which a chosen phrase occurs zero times.

Work through a seven-word example

To see the denominators clearly, choose English as the text language and use this illustrative passage:

Clear guides help. Clear guides save time.

The first sentence contains three words and the second contains four. Together they provide seven single-word positions, five two-word windows and three three-word windows.

Term Occurrences Eligible windows Frequency
clear 2 7 28.57%
clear guides 2 5 40%
clear guides save 1 3 33.33%
help clear 0 5 0%

The phrase “help clear” does not occur because it would cross the sentence boundary. The displayed percentages here are rounded for readability. The three-word phrase can have a larger percentage than the one-word term despite appearing fewer times, because its denominator is smaller.

Now shorten the input to “Clear.” Only the single-word group has an eligible position. A selected two-word phrase has zero occurrences but no defined two-word percentage. Treating that as 0% would hide the fact that the input is too short to contain any two-word window at all.

Use the target phrase and stop-word controls

Enter a target phrase when you need an answer about specific wording rather than only the most frequent terms. The target accepts one to three word-like tokens within one sentence, up to 200 characters. Its result is checked separately from the ranked tables, including when the term falls outside the top 50 or has zero occurrences.

The stop-word option hides ranked terms containing words from a limited common-word list for the selected language. It does not delete those words from the analyzed passage or shrink the percentage denominator. It also does not create new phrases by joining words that were originally separated. The selected target remains visible regardless of this filter.

For example, an English phrase containing “the” can disappear from the ranked view when filtering is on while still appearing as your selected target. Turn the filter off if articles, prepositions or recurring connective phrases are relevant to your edit.

Switch between one-, two- and three-word groups. Each ranked table contains up to 50 terms; the chart highlights up to ten by occurrence count. Longer bars mean more occurrences relative to the other displayed terms. They are not an SEO score, and an absent chart label does not prove a phrase is absent from the text.

Turn repetition into a clearer draft

Start with the terms that surprise you, then read the surrounding sentences. Repeated product names may be necessary in a comparison; an awkward phrase repeated in every opening sentence may add nothing. The same percentage can describe both situations. Screpy does not prescribe an ideal keyword density or mark a passage as keyword stuffing.

Google’s spam policies describe manipulative, unnatural repetition. A frequency report alone cannot establish that intent or diagnose a search penalty. Its value is directing your attention to passages worth reviewing.

Use a small editing loop:

  1. Find a frequently repeated word or phrase and locate it in the actual draft.
  2. Ask whether each occurrence supplies a needed name, explanation or distinction.
  3. Remove redundant sentences or rewrite awkward wording while preserving factual meaning.
  4. Reread the passage for clarity, then analyze the same scope again.

If you need alternatives for one awkward paragraph, AI Paragraph Rewriter can help you explore wording; check the result yourself. Use Heading Structure Analyzer when the real issue is repeated or poorly organized headings. Adding filler or replacing every precise term with a synonym just to lower a percentage makes the metric look different without necessarily helping the reader.

Explain missing text and partial results

URL mode does not count everything visible in a browser. It reads source HTML without running JavaScript. If a main content element exists, extraction focuses on that region and selects text from headings, paragraphs, list items and certain other content blocks. Navigation, headers, footers, sidebars and explicitly hidden content are excluded. Text stored only in arbitrary containers or added by scripts may be missing; CSS visibility is not evaluated as a browser would evaluate it.

Check these boundaries before interpreting a surprising total:

Situation What the result means Next action
URL result is marked partial The 50,000-character or 10,000-word text cap was reached Treat counts as an excerpt; use a clearly defined smaller passage
Pasted text exceeds 20,000 characters The input is rejected rather than silently shortened Select the section you intend to inspect
Page cannot be read or exceeds the 2 MiB HTML limit No successful full-page measurement is available Check access and source size; do not interpret failure as zero words
Browser text differs from the report Source selection or JavaScript may explain the difference Compare the relevant source with an equivalent pasted passage

A partial report does not reveal the full page’s word count or frequency distribution. A nonempty input consisting only of punctuation can also contain no word-like tokens. Check the source, retained scope and eligible windows before drawing conclusions from an empty table.

Compare reports without misleading yourself

For a before-and-after edit, keep the input scope, content language, phrase group and filter setting consistent. Record the selected term’s count alongside its percentage and the denominator. A percentage can fall because you added unrelated text, even when the original repetition is unchanged. Removing a short sentence can also change the available phrase windows differently from the total word count.

Another checker may divide every phrase count by total words, include menus or metadata, remove stop words before counting, or use different sentence boundaries. Those choices can produce different results from identical-looking inputs. Compare definitions and source scope before treating a numerical difference as an error.

A competitor page’s frequency is a description of that page, not a target your draft must copy. Use the report alongside the reader’s actual question and the completeness of your explanation. Google’s people-first content guidance is a better basis for the final editorial decision than repeatedly adjusting the text until one percentage looks right.

Keyword density questions

See which words and phrases recur in your content. Compare counts, inspect one target phrase and review frequency without chasing an ideal percentage.

What is the ideal keyword density?

The tool does not prescribe an ideal percentage or assign an SEO grade. Use counts to examine repetition and judge clarity, relevance and reader needs in context.

Does hiding stop words change the calculation?

No. It hides ranked terms containing words in a limited common-word list. It does not remove words from the denominator, join separated words or hide the selected target phrase.

Why is my target phrase missing from the top terms?

The ranked tables show up to 50 terms per phrase length and can hide terms containing common stop words. Enter a valid one- to three-word target to check it separately, including when its count is zero.

Why do two-word and three-word percentages use different totals?

Each group divides by its eligible phrase windows within sentences. A sentence shorter than the phrase length contributes no windows, so using total words for every group would give a different measure.

Does URL mode count the whole rendered page?

No. It extracts source HTML without JavaScript, with a 2 MiB HTML limit and caps of 50,000 characters or 10,000 words. Partial results are labelled; pasted text is limited to 20,000 characters.

Does the page language setting affect the counts?

Yes. The selected text language affects sentence and word segmentation, letter-case normalization and the common stop-word list. Choose the content language rather than assuming it matches the language of the interface.

Can this tool detect plagiarism or AI-generated writing?

No. It measures repeated words and phrases in the supplied text. It does not identify authorship, compare against a plagiarism database or determine whether content was generated by AI.

Why does another keyword density checker show a different percentage?

Check whether it uses total words or eligible phrase windows, the same extracted text and language, and the same stop-word rules. Different definitions and source boundaries can produce different percentages without either number describing the same measurement.