Keyword Density Checker – Analyse Word & Phrase Frequency Free

Check keyword density instantly. Paste text to see word and phrase frequency as a %. Free, no login, runs in your browser. Aim for 1-2% — avoid stuffing.

Total words: 0

Top keywords

Paste text to see the keyword breakdown.

Check Keyword Density in Seconds – No Sign-Up Needed

Paste any text and instantly see which words and phrases dominate it, along with their exact frequency as a percentage of your total word count. This keyword density checker catches over-optimised content before it hurts your rankings and highlights thin spots where important terms are barely showing up.

Quick definition: keyword density = (number of times a term appears ÷ total words) × 100. A healthy range for any single term is roughly 1–2%. Above that, search engines may flag the page as keyword-stuffed; below 0.5% for a core topic, the page may not rank well for it at all.

Results show single words and 2–3 word phrases (often called keyword frequency or term density analysis), so you can spot natural-language clusters, not just isolated words. Everything runs in your browser — nothing is uploaded or stored.

How to Use the Keyword Density Checker

  1. Paste your text into the input box above — an article, a product page, a meta description, anything.
  2. Click "Analyse" (or the equivalent button — it may run automatically as you type).
  3. Read the results table. You'll see each word and phrase alongside its count and density percentage, sorted from most to least frequent.
  4. Adjust your copy based on what stands out — trim terms above 2%, add more mentions of terms that matter but score below 0.5%.

Worked Example

Say you paste the following 50-word paragraph about running shoes:

Running shoes should fit your foot shape first and foremost.
The right running shoe gives you support on long runs.
Cheap running shoes often lack cushioning, so invest in a
quality pair. Good shoes make every run more enjoyable and
reduce injury risk over time.

The checker would return something like this:

Term Count Density
running48.0%
shoes48.0%
running shoes36.0%
run24.0%
shoe12.0%

Takeaway from this example: "running shoes" at 6% is far too dense for a real page — a clear sign of keyword stuffing. You'd want to swap some instances with synonyms like "trainers," "athletic footwear," or just restructure a sentence.

How to Calculate Keyword Density in Code

If you need to automate this check in a script — say, to audit a batch of pages — here's how to do it in two popular languages.

Python

import re
from collections import Counter

text = "Your article text goes here. Paste the full content."
words = re.findall(r"\b[a-z]+\b", text.lower())
total = len(words)

counts = Counter(words)
for word, count in counts.most_common(10):
    density = (count / total) * 100
    print(f"{word}: {count} times ({density:.1f}%)")

This strips punctuation, lowercases everything, and prints the top 10 single-word frequencies. Add a sliding window of 2–3 words to capture phrase density as well.

JavaScript (browser or Node.js)

const text = 'Your article text goes here. Paste the full content.';
const words = text.toLowerCase().match(/\b[a-z]+\b/g) || [];
const total = words.length;
const counts = {};

words.forEach(w => { counts[w] = (counts[w] || 0) + 1; });

Object.entries(counts)
  .sort((a, b) => b[1] - a[1])
  .slice(0, 10)
  .forEach(([word, count]) => {
    console.log(`${word}: ${count} (${((count / total) * 100).toFixed(1)}%)`);
  });

Both snippets give you the raw numbers fast. The online tool above does all of this instantly, including multi-word phrases, so there's no need to run a script for one-off checks.

How It Works Under the Hood

The tool tokenises your text — splits it into individual words by breaking on spaces and punctuation. It then counts every unique word, every unique 2-word sequence (bigram), and every unique 3-word sequence (trigram). Common stop words (like "the," "is," "of") are optionally filtered out so they don't swamp the results.

Each term's count is divided by the total word count and multiplied by 100 to give a clean percentage. The results are sorted by frequency so the most-used terms surface first. All of this runs client-side in JavaScript — your text never leaves your device.

When to Use a Keyword Density Checker — and When to Skip It

Good times to use it

  • Before publishing a blog post or landing page — catch accidental stuffing early.
  • Auditing older content that has slipped in rankings — over-optimisation is a common culprit.
  • Checking competitor pages — paste their text to see which phrases they emphasise.
  • Validating SEO rewrites — confirm that your target phrase now appears at the right frequency after editing.

When it won't help on its own

  • For very short text (under ~100 words), percentages swing wildly — a single extra word can jump density by a full percent.
  • It doesn't replace a full SEO audit. Density is one signal; page structure, backlinks, and semantic relevance all matter too.
  • Meta tags and alt text are not factored in when you paste body copy only — analyse them separately if needed.

For related content work, you might also find it useful to structure your data properly — our JSON Beautifier is handy when you're working with SEO audit exports or API responses that come back as compressed JSON, and the JSON Validator helps catch errors in structured data markup before it goes live.

Your text stays private — the checker runs entirely in your browser. Nothing is sent to a server, logged, or stored anywhere.

Paste your content into the tool above and let the numbers guide your edits — a quick frequency scan is one of the fastest ways to tighten up a page before it goes live.

Frequently asked questions

What keyword density percentage is safe for SEO?+
Most SEO practitioners aim for 1–2% for a primary keyword. Going much above 2% on a short page risks looking spammy to search engines. There's no magic number — Google doesn't publish an exact threshold — but natural, readable writing typically lands in a healthy range by itself.
Does this tool check 2-word and 3-word phrases, or just single words?+
It checks all three: single words, 2-word phrases (bigrams), and 3-word phrases (trigrams). This is important because most real SEO keywords are multi-word — phrases like 'running shoes for women' matter just as much as the individual words.
Is my text uploaded to a server or stored anywhere?+
No. The tool runs entirely in your browser using JavaScript. Your text is never sent to any server, saved in a database, or shared with anyone. It's completely private.
Is the keyword density checker free? Do I need to create an account?+
It's completely free to use, and no account or sign-up is required. Just paste your text and go.
What's the difference between keyword density and keyword frequency?+
Keyword frequency is the raw count — how many times a term appears. Keyword density expresses that count as a percentage of the total word count. Density is more useful for SEO comparisons because it accounts for document length.
Should I include stop words like 'the' and 'is' in my density calculation?+
Generally no — stop words inflate the total word count and clutter the results without telling you anything useful about your SEO. The tool filters them out by default so you can focus on the terms that actually affect your rankings.
Can I check a full webpage instead of pasting text?+
The tool works with pasted text. To analyse a live page, copy the visible body text from your browser (Ctrl+A then Ctrl+C on a rendered page, or use a browser extension to extract plain text) and paste it in. This also lets you focus on just the content that search engines actually crawl.
How does Google actually use keyword density?+
Google has confirmed it does not use a fixed keyword density formula. However, unnatural repetition is a known spam signal. Think of density as a sanity check — it tells you when something might look manipulative, not a score to optimise to the decimal. Google's own Search Essentials recommend writing for people, not for keyword counts.