Keyword Density Checker
Keyword Density Checker
Paste an article or a page’s HTML and see how often every word and phrase appears, where your target keyword shows up, and which terms you repeat most.
- Free, no sign-up
- 1 to 4-word phrases
- Text or HTML
- Any language
Settings
Highlighted text
Results
| # | Share |
|---|
Runs in your browser. Nothing you paste is sent or stored.
Step by step
How to use the keyword density checker
Paste your text or HTML
Paste draft content, a finished article or the HTML source of a page. The keyword density checker spots HTML on its own and ignores scripts, styles and code, so only the words a reader sees are counted.
Add your target keyword
Type the phrase you want the page to rank for. You get its count, its keyword density and every place it appears in the content, even if it is used only once or not at all.
Switch between 1, 2, 3 and 4 words
Single words show what the content is about. Two-, three- and four-word phrases show the exact wording you repeat, which is what readers notice.
Click a term to see it in context
Any keyword or row you click is highlighted in the text, so you can read each use and decide whether to keep it, reword it or cut it.
To check a live URL, open the page, view its source (Ctrl+U or Cmd+Option+U), copy everything and paste it here. That also works for a competitor’s page, which is a quick way to compare their keyword density and on-page SEO with yours. It also shows you whether their keyword sits in the title, meta description and headings.
The maths
How keyword density is calculated
density = (times used ÷ total words) × 100
If an 800-word article uses “pour over coffee” 8 times, its keyword density is 8 ÷ 800 × 100 = 1%. The same rule applies to single words and to phrases: the phrase counts once each time it appears, and the total is always the full word count of the content. Most SEO tools use this formula, so when two tools disagree, the difference is in how they count words.
A few rules decide what counts as a word, and they explain why another checker may give you a slightly different number:
- Letters from any language count, so Latvian, German, Polish or Spanish words stay whole instead of breaking at š, ü or ñ.
- Hyphenated words (e-commerce) and words with an apostrophe (don’t) count as one word.
- Numbers count as words. Untick them in Settings if you want them out of the frequency table.
- Phrases stop at full stops, question marks, line breaks and the end of a heading or list item, so the checker never invents a phrase that a reader would not see.
- With stop words hidden, single words such as “the” or “un” are left out of the table, and phrases that start or end with one are skipped. They still count towards the total.
Results
How to read the keyword density results
| Column | What it means |
|---|---|
| Words | Every word the checker counted. Numbers, hyphenated words such as e-commerce and words with an apostrophe count as one word each. This is the number every density is divided by. |
| Count | How many times the word or phrase appears. Phrases are only counted inside one sentence, heading or list item, never across two. |
| Density | Count divided by total words, times 100. A three-word phrase used 6 times in 600 words has a density of 1%. |
| 1 in N words | Shown for target keywords. It tells you how often a reader meets the phrase, which is easier to judge than a percentage. |
| Placement | For HTML, whether the target keyword appears in the title tag, meta description, H1, H2 or H3, the first 100 words and image alt text. For plain text, only the first 100 words. |
Use the table to find repetition, not to hit a number. Google does not publish a target keyword density. A density that looks high in a 150-word product description can be normal, because short content repeats its main term more often. Its spam policies describe keyword stuffing as repeating words or phrases so often that the text sounds unnatural, in an attempt to manipulate rankings. So if one phrase tops the 2-, 3- or 4-word tabs by a wide margin, read those sentences aloud. Where a phrase sounds forced, use a pronoun or a natural variation instead.
The opposite check matters more for SEO. If your target keyword is missing from the title, the H1 or the first 100 words, search engines and readers may not see clearly what the page is about.
HTML
Checking a page’s HTML and keyword placement
When you paste HTML, the checker reads it the way a visitor sees it. Scripts, styles, tracking code and comments are removed, entities such as & are decoded, and each heading, paragraph and list item is treated as its own block.
It also pulls out the title tag, the meta description, the H1 to H3 headings and image alt text, and shows whether each target keyword appears there. These parts are not counted in the keyword density by default, because they are not body content. Tick “Count title, meta description and alt text” in Settings to include them.
Note
Pages built with JavaScript may have very little text in their source. If the word count looks too low, open the live URL and copy the text from the page itself instead.
Languages
Latvian and other languages
The checker counts letters in every alphabet, so it works for Latvian, Lithuanian, German, French and Spanish content, and for Cyrillic and Greek, and gives the same keyword density you would get by counting by hand. Stop words are removed for English and Latvian. With “Detect language” selected, Latvian letters such as ā, ē and ņ switch the Latvian list on. For other languages, choose “Keep all words” and add the most common short words to “Words to leave out”.
FAQ
Questions about the tool
How is keyword density calculated?
Divide the number of times a keyword appears by the total number of words, then multiply by 100. A phrase used 5 times in 500 words has a density of 1%. The checker counts each use of a phrase once and always divides by the full word count of the content.
What is a good keyword density for SEO?
There is no official number. Google does not give a target, and its spam policies treat keyword stuffing, repeating words or phrases until the text sounds unnatural, as spam. Write for the reader, make sure the keyword is in the title, H1 and opening paragraph, and use the checker to catch any phrase you repeat far more than the rest.
Can I check the keyword density of a URL?
Yes. Open the URL in your browser, view the page source, copy all of it and paste it here. The checker reads the HTML, ignores the code and also shows whether the keyword is in the title, meta description, headings and alt text. This works for your own pages and for competitor pages.
Are stop words included in the count?
Stop words always count towards the total, so the density matches the real length of the content. With “Hide stop words” on, they are left out of the frequency table and phrases that start or end with one are skipped, which removes noise such as “of the”. Turn it off in Settings to see every word.
Does it work for Latvian and other languages?
Yes. Letters such as ā, č, ē, ģ, ī, ķ, ļ, ņ, š, ū and ž stay part of the word, and Latvian stop words are removed when Latvian text is detected. Many other checkers split these words into fragments, which makes their counts wrong.
Why is my word count different from Word or another tool?
Tools disagree on hyphens, apostrophes, numbers and HTML. This checker counts e-commerce and don’t as one word each, counts numbers, and ignores code in HTML. For reading time and length comparisons, use the Word Count tool.
Is my text stored or sent anywhere?
No. This keyword density tool runs in your browser. Nothing you paste is sent to our server or saved, so you can check unpublished drafts and client content.
Can I export the results?
Yes. Download CSV saves the current tab (1, 2, 3 or 4 words) with every term, its count and its keyword density. Copy table puts the same data on your clipboard ready to paste into a spreadsheet.