Keyword Density
See which terms and phrases a piece of writing actually leans on, and how often.
What this tool does
Keyword Density splits your text into words and then counts every one-, two- and three-word run inside it. A word here is letters and digits with internal apostrophes and hyphens, so don't and search-engine each stay in one piece. Runs are collected inside segments that end at a full stop, question or exclamation mark, semicolon, colon, line break, quotation mark or bracket, which is why no phrase is ever stitched together from the end of one sentence and the start of the next.
Density is the share of the phrases of that length, not the share of the whole document. A single word's figure is its count divided by every word in the text; a two-word phrase is divided by every two-word window, of which there are fewer. Those denominators keep counting the common words even when you have hidden them, so turning Ignore common words on changes which rows you are shown without inflating the percentage beside them.
Rows are ranked by raw count, and all three phrase lengths share one table. Single words nearly always out-count phrases, so the default twenty-five rows can fill before a useful three-word phrase gets in — raise Rows to show, which goes to 500, or set Phrase length to two or three words to read those on their own. Minimum occurrences starts at two, which quietly removes the long tail of terms that appear once.
Three limits are worth knowing before you trust the table. Nothing is stemmed, so keyword, keywords and keyword's are three separate rows you have to add up yourself. The common-word list is English only, so on French or German copy that filter has almost nothing to remove and the top of the table fills with articles and prepositions. And there is no correct percentage to aim at: search engines stopped rewarding a density target a long time ago, and the useful reading of this table is repetition you did not intend, not a number to hit. The counting happens in this browser tab, so the draft you paste is not sent anywhere.
How to use it
- Paste the copy. Drop in the page text, article or draft you want measured. Load sample fills the box with deliberately repetitive local-SEO copy if you would rather see the shape of the output first.
- Choose the phrase length. One, two and three words together, or a single length on its own when you want phrases ranked without single words crowding them out of the table.
- Decide what counts as a term. Leave Ignore common words on to drop the, and, of and any phrase that starts or ends with one. Case sensitive keeps Apple and apple apart; with it off, terms are listed in lower case.
- Set the thresholds and read the table. Minimum occurrences hides one-off terms, and Rows to show caps the list. Each row gives the term, its length in words, how many times it occurred and its density.
Processing & privacy
Runs on your device. Your file is processed directly in this browser.
Common use cases
Editing repetition out of a draft
A word used eleven times in nine hundred rises straight to the top of the table, which is quicker than rereading the whole thing to find what grates.
Checking a page against its brief
If the phrase the page is supposed to be about never reaches the ranked list, the copy is about something else and no amount of tweaking the title will fix that.
Reading a page that already ranks
Paste its visible text and the term frequency table shows which phrases it genuinely repeats, rather than the ones you assumed from skimming it.
Spotting boilerplate in bulk copy
Product and listing descriptions written from a template repeat the same stock wording, and the two- and three-word rows put that on show immediately.
Questions
Is the copy I paste uploaded anywhere?
What keyword density should I be aiming for?
Can I compare a two-word density with a single word's?
Does it treat plurals and word forms as the same term?
Why is a phrase I can see in my text missing from the table?
Is there a limit on phrase length or text size?
Related tools
- Word Counter — Count words, characters, sentences and reading time.
- Case Converter — Switch between upper, lower, title, camel and snake case.
- Remove Line Breaks — Collapse hard wraps back into flowing paragraphs.
- Remove Extra Spaces — Normalise double spaces and stray whitespace.
- Sort Lines — Sort lines alphabetically, numerically or randomly.
- Remove Duplicate Lines — Delete repeated lines from a list.