Keyword Density Checker
Count keyword and phrase matches, inspect them in the source, and compare word frequencies with clear denominators. Export CSV or a complete analysis JSON.
Use this result well
- Inputs that matter
- Source text up to 500,000 UTF-16 units and a separate optional keyword or phrase up to 2,000 units, with match type, case, overlap and word-language controls.
- Output to expect
- Occurrences and their denominator, selectable source locations, searchable 1-, 2- and 3-word frequency tables, filtered CSV and a complete frequency-analysis JSON report.
- How it works
- Whole-word matching follows browser word-like boundaries. NFC and Unicode 17 default full case folding preserve accents and internal punctuation. A phrase cannot cross punctuation between words; text fragments must span complete source graphemes.
- Whole-word rate = occurrences / all source words × 100. Text-fragment rate uses source grapheme clusters; distinct word coverage is reported separately.
- Frequency groups always count overlapping windows. Hiding common English words filters rows without changing the source denominator or creating new phrase neighbors.
- Match locations preview the first 50. Browse every frequency row in pages of 50; JSON retains every row and the exact source. Project summaries retain the first 10 single-word rows.
- Counts help inspect repetition in context. They do not give an optimal SEO keyword density, semantic importance or ranking prediction.
Projects using Keyword Density Checker
This tool is part of these guided projects. Each project provides step-by-step instructions with checklists and all the tools you need in one place.
Related Tools
Tools you might need next
Extract top keywords from text. Frequency analysis. Exclude stop words. For SEO research. Free online text tool — process content instantly in your browser
Inspect Unicode counts, word frequencies, reading time and English readability in one workspace. Compare a selected publishing field and copy the results.
Count words, Unicode characters, sentences and paragraphs. Inspect English readability, estimate reading time and compare a selected publishing length rule.
Reference & details
How it works
Updated September 2026
How it works
Updated September 2026Choose the matching rule
Whole-word mode matches adjacent word-like tokens, allowing different whitespace but stopping at punctuation between tokens. Text-fragment mode retains exact spaces and punctuation and requires complete source grapheme boundaries. Overlapping query matches are optional.
Source: ICU Boundary Analysis
Normalize without losing the source
Case-insensitive matching uses NFC, Unicode 17.0.0 default full case folding, then NFC again. Accents and internal punctuation remain; no stemming or synonyms are applied. Word language selects browser Intl.Segmenter boundaries, which can differ by browser and language dictionary. A Unicode-run fallback is disclosed when word segmentation is unavailable.
Source: Unicode 17.0.0 CaseFolding.txt
Read the denominator
The whole-word rate is occurrences divided by all source word-like tokens, multiplied by 100. Distinct word coverage counts the union of matched tokens. Text-fragment rates use source grapheme clusters and are not word-density percentages. No rate is calculated with a zero denominator.
Keep a useful record
The first 50 matching locations link back to the original text. Frequency tables cover all 1-, 2- and 3-word groups, with 50 rows per page. CSV exports every row matching the selected group and filters; JSON includes the exact source, settings, complete frequency tables and the first 50 match offsets.
Interpret repetition in context
These rates describe the entered text and do not give an optimal keyword density or predict rankings. Google Search guidance describes unnatural keyword repetition as keyword stuffing. Review whether each occurrence helps the reader.
Updated: September 2026
Example Scenarios
Search for red blue in red blue red blue: two non-overlapping occurrences across four source words give 50 occurrences per 100 words and 100% word coverage.
Whole-word art does not match cart. Switch to Text fragment when you deliberately need part of a word or punctuation, then inspect its source locations.
Compare Café and CAFÉ, or Straße and STRASSE, with case sensitivity off. Choose the intended word language and inspect boundaries before comparing passages.
FAQ
About Keyword Density Checker
Enter your source text and a separate keyword or phrase. Choose whole-word or text-fragment matching, inspect the matching locations, and browse repeated words and phrases before deciding what to edit.