Keyword Density Checker
SEO ToolsAnalyze keyword density in text with single-word and multi-word phrase frequencies, percentages, and SEO recommendations.. Free, private — all processing in your browser.
The Keyword Density Checker analyzes any text and reports how often each word and multi-word phrase appears, along with its percentage of the total content. This is a core SEO task: you want your target keywords to appear often enough to signal topic relevance to search engines, but not so often that it reads as keyword stuffing. The sweet spot is typically 1-3% for primary keywords in natural-sounding copy.
Paste an article, blog post, product description, or any text and the tool counts words, excludes stopwords (the, a, an, and, etc. by default), shows the top single words, bigrams (two-word phrases), and trigrams (three-word phrases) by frequency, and calculates density percentages. Identify whether your primary keyword is present enough, discover supporting keywords you mention heavily without planning to, and spot over-optimized content that may trigger Google\u2019s keyword-stuffing penalty. All analysis runs in your browser, so confidential draft content stays on your machine.
Keyword Density Checker — key features
Single-word frequencies
Top most common words with counts and percentages.
Bigram analysis
Two-word phrases (e.g., "machine learning") with counts — useful for long-tail keyword discovery.
Trigram analysis
Three-word phrases for even more specific long-tail patterns.
Stopword filtering
Remove common words (the, a, and) that don’t contribute to meaningful analysis.
Stemming option
Merge plurals and verb forms so "run" and "running" count together.
Density warnings
Flags keywords that appear too often (risk of keyword stuffing) or too little for SEO relevance.
Multi-language stopwords
Supports English, Spanish, German, French, and more for international content.
Client-side only
Content stays in your browser — safe for draft articles and internal documents.
How to use the Keyword Density Checker
- 1
Paste content
Drop your text (article, blog post, description) into the input area.
- 2
Configure stopwords
Default English stopwords are removed; adjust to other languages or custom lists if needed.
- 3
Analyze
The tool shows word counts, top keywords, bigrams, and trigrams with density percentages.
- 4
Review warnings
Check for keywords with density above recommended ranges (risk of over-optimization) or content lacking clear topic keywords.
- 5
Optimize content
Edit the text to naturally include target keywords without forcing density targets — natural writing with topical depth is what works now.
Common use cases for the Keyword Density Checker
SEO content creation
- →Pre-publication audit: Check keyword density of drafts before publishing to avoid over- or under-optimization.
- →Competitor content analysis: Analyze top-ranking competitor pages to understand keyword patterns for your topic.
- →Long-tail discovery: Bigrams and trigrams reveal phrase patterns that can be targeted in follow-up content.
Content quality
- →Writing focus check: Identify when content drifts off-topic by seeing unexpected words dominating the density.
- →Editorial review: Spot repetitive language or over-used words that could benefit from rewording.
- →Summarization: Top keywords summarize what a piece is really about beyond its title.
Research
- →Topic research: Analyze a batch of articles on a topic to identify common terminology and technical vocabulary.
- →Trend detection: Track how keyword prevalence changes in content over time.
- →Academic text analysis: Quick frequency analysis for discourse studies or content analysis research.
Keyword Density Checker — examples
Balanced article
Good keyword density for an SEO-optimized blog post.
1500-word article about "home gardening"
home gardening: 15 (1.0%) garden: 18 (1.2%) plants: 24 (1.6%) seedlings: 8 (0.5%) rating: healthy keyword density
Over-optimized
Keyword-stuffed content.
500-word page about "best running shoes"
best running shoes: 22 times (4.4%) warning: well above 2.5% threshold — risk of keyword stuffing penalty
Long-tail discovery
Bigram analysis revealing useful phrases.
article on "productivity tools"
top bigrams: - task management: 8 - time tracking: 6 - project planning: 5 these phrases could be targeted in separate articles
Topic drift
Analysis reveals content goes off-topic.
article titled "SEO basics" but heavy on "email marketing"
expected: SEO terms dominate actual: email, newsletter, subscribers top the list recommendation: refocus article or rename to reflect actual content
Low density
Primary keyword barely mentioned.
1200-word article targeting "machine learning"
machine learning: 3 (0.25%) warning: below 0.5% — keyword is not well represented recommendation: work keyword into subheadings and body naturally
Technical details
Keyword density is the percentage of total words that match a specific keyword. For a 1000-word article where \"dogs\" appears 15 times: density = 15/1000 = 1.5%.
For phrases (n-grams), the calculation is: count of the phrase / total number of n-grams. A 1000-word text has about 999 bigrams (sliding window of 2), so a bigram appearing 10 times has density ~1%.
Analysis steps:
1. Tokenize the text into words using Unicode word boundaries
2. Apply lowercase for case-insensitive counting
3. Remove punctuation attached to words
4. Optionally remove stopwords (common words like \"the\", \"a\", \"an\", \"and\", \"or\") that are usually excluded from meaningful keyword analysis
5. Count each word\u2019s frequency
6. For phrases, build n-grams (pairs, triples) and count their frequencies
7. Sort by frequency descending
8. Calculate percentages
Stopword list: defaults to ~170 English stopwords. Customizable if you want to include or exclude specific words from counting. Other language stopword lists available (Spanish, German, French).
Stemming: optional. Converts \"run\", \"running\", \"ran\" to one stem so they count together. Uses Porter Stemmer. Useful for broader topic analysis but can over-merge unrelated words.
Ideal keyword density ranges (general SEO consensus, not a hard rule):
- Primary keyword: 0.5-2.5% (some say up to 3%)
- Secondary keywords: 0.5-1%
- Over 3-5% risks appearing spammy
Modern SEO (post-BERT, post-Helpful Content Update) emphasizes topical relevance and semantic richness over keyword density. A page should naturally mention keywords as part of covering the topic thoroughly, not hit a specific density target.
TF-IDF (Term Frequency-Inverse Document Frequency) is a more sophisticated measure that considers how distinctive a word is across a corpus. This tool reports raw frequencies; for TF-IDF you need a reference corpus.
Common keyword-stuffing signals Google detects:
- Unnaturally high density of exact-match keywords
- Over-optimization of anchor text
- Hidden text containing keywords
- Repetitive, thin content focused on keywords rather than value
Common problems and solutions
⚠Focusing on density targets
Modern SEO values topical depth and natural writing over hitting specific density numbers. Write for readers; density should happen naturally, not be forced.
⚠Keyword stuffing penalty
Over-optimizing with exact-match keyword repetition triggers Google’s penalties. Densities above 3-5% are suspicious. Write naturally and use semantic variants.
⚠Stopwords counted
Without stopword filtering, "the", "a", "and" dominate every analysis. Ensure stopword removal is enabled for meaningful results.
⚠Plurals counted separately
"dog" and "dogs" count as different words by default. Enable stemming to merge them. But be careful — stemming can merge unrelated words ("running" + "runner" + "run" all become "run").
⚠Case sensitivity
Dog and dog should be same. The tool lowercases by default; disable if case distinction matters (e.g., brand names vs generic words).
⚠Ignoring semantic keywords
Exact-match density is only one factor. Google understands synonyms and related terms (LSI). Cover topics broadly with natural variant vocabulary, not just repetition of one phrase.
⚠Compound words
"email marketing" is one concept but two tokens by default. Bigram analysis captures it. Single-word density would undercount.
Keyword Density Checker — comparisons and alternatives
Compared to paid SEO tools (Surfer, Clearscope, Frase), this tool provides basic density and frequency analysis without the subscription. Paid tools add competitor benchmarking, topic modeling, and content briefs; this tool is the starting point.
Compared to spreadsheet word counting, this tool handles stopwords, stemming, and n-gram analysis out of the box. Spreadsheets require more setup but offer flexibility for custom analysis.
Compared to Python NLTK or similar libraries, this tool is interactive and requires no setup. For batch analysis and programmatic use, libraries are better; for quick checks, this tool wins.
Frequently asked questions about the Keyword Density Checker
▶What is keyword density?
The percentage of total words in a text that match a specific keyword. If "dogs" appears 15 times in a 1000-word article, keyword density = 15/1000 = 1.5%.
▶What is a good keyword density for SEO?
Rule of thumb: 0.5-2.5% for primary keywords. Below 0.5% means the keyword isn’t well-represented; above 3% risks appearing as keyword stuffing. Modern SEO prioritizes topic depth and natural writing over hitting specific density numbers.
▶Does keyword density still matter in 2026?
Less than it used to. Post-BERT (2019) and post-Helpful Content Update (2022), Google emphasizes topical authority and user value over exact-match keyword density. Hit keywords naturally without stuffing; cover your topic comprehensively.
▶What is keyword stuffing?
Unnaturally high repetition of keywords to manipulate rankings. Google actively penalizes it. Signs include: primary keyword density above 5%, nonsensical repetition, hidden text containing keywords, keywords crammed into headers and anchor text.
▶Should I use stemming?
Depends. Stemming merges related word forms (run, running, ran) for broader topical analysis. Without stemming, those are separate words with diluted counts. Be aware that stemming can over-merge (e.g., "university" and "universal" both stem to "univers").
▶How do I find long-tail keywords?
Use the bigram and trigram analysis to find multi-word phrases naturally occurring in your content. These phrases are often good long-tail keyword targets because they represent how people actually speak about the topic.
▶Is my content private?
Yes. Analysis runs in your browser. Draft articles, internal docs, and confidential content stay local.
▶How large a text can I analyze?
Multi-megabyte documents analyze in under a second. For bulk corpus analysis (thousands of articles), use a programming environment with NLP libraries like Python’s NLTK or spaCy.
Additional resources
- Google on content quality — Google’s guidance on creating helpful content, which supersedes older keyword-density focus.
- Moz keyword density guide — Comprehensive overview of keyword density in modern SEO.
- Ahrefs on keyword stuffing — Analysis of keyword stuffing penalties and modern keyword strategy.
- Natural Language Toolkit — Python NLP library for programmatic keyword and frequency analysis.
- TF-IDF explanation — Background on TF-IDF, a more sophisticated keyword measure used in search ranking.
Related tools
All SEO ToolsCase Converter
Convert between upper, lower, title, camel, snake, kebab, Pascal, CONSTANT cases
Find and Replace
Find and replace text with regex support, case sensitivity, whole-word matching, and preview of all changes before applying.
Google SERP Preview
Preview how your page will appear in Google search results with accurate title, URL, and meta description rendering for desktop and mobile.
Line Counter
Count lines in text with separate totals for blank lines, non-blank lines, words, characters, and paragraphs for detailed statistics.
Meta Tag Generator
Generate SEO meta tags, Open Graph, Twitter Cards, and canonical tags
Remove Duplicate Lines
Remove duplicate lines from text with case-sensitive or case-insensitive matching, preserving original order or sorting the result.
Learn more
Explore more tools
200+ free tools that run in your browser.
Browse all tools →