Keyword Density Checker
See your real top words and phrases: honest percentages against all words, sentence-aware phrase building, custom exclusions, and CSV export. All analyzed locally.
How counting works (spec v1)
- Words are locale-aware word segments: punctuation and emoji are not words, numbers like 3.50 count as one, contractions (don't) count as one, hyphenated compounds (follow-up) count as two, and a URL or email address counts as one.
- Characters are what you perceive: a family emoji, a flag or an accented letter counts as 1. Code points, UTF-16 units and bytes are in Detailed statistics.
- Sentences use locale-aware boundaries with abbreviation handling, so Dr., e.g. and $3.50 do not split.
- Paragraphs are blocks separated by a blank line. Line counts are in Detailed statistics.
- Density uses the same words as the headline count, phrases never cross a sentence boundary, and filters change what is listed, never the percentages.
Reading time uses 238 words per minute, speaking time 130 words per minute.
Detailed statistics
*English-language estimate. For a full report use the Readability Checker.
X's own rules: every link counts as 23, emoji and CJK count as 2.
Hard limit 2,200 characters; only about the first 125 show before "more".
Guidance, not a limit: Google truncates by pixel width per device. Check the SERP preview.
No fixed limit exists; snippets are truncated to fit and often rewritten.
Keyword density checker
Density is each phrase's share of ALL words in the text (the same word count as the headline). Filters and the English stopword list only change which phrases are listed, never the percentages. Phrases never bridge two sentences.
Type or paste text above to see your top words and phrases.
Very long text: phrases are computed from the first 200,000 words.
Reading a density table like an editor, not an optimizer
The valuable signals in a density table are the surprises. A phrase you did not intend sitting in the top five means the page drifted off topic. Your main topic missing from the top ten means you wrote around the subject instead of about it. A single phrase above 3 to 4 percent reads repetitive to humans long before any algorithm cares. And the two-word and three-word tabs expose crutch phrases ("it is important", "in order to") that no single-word view catches.
The mechanics here are deliberately strict so the numbers mean something: percentages are always against every word in the text, phrases never span a sentence boundary, and filtering changes the listing, not the math. When two pages need comparing, export both tables to CSV and diff them in a spreadsheet.
Keyword density FAQ
How is keyword density calculated here?
Each phrase's count divided by the total number of words in the text, using the same language-aware word count as the headline stats. Filters (stopwords, numbers, your custom exclusions) only change which phrases are listed; they never shrink the denominator, so percentages stay honest and comparable. Phrases are also built within sentences only: a two-word phrase never welds the last word of one sentence to the first word of the next.
What keyword density is good for SEO?
None in particular, and be suspicious of tools that promise a magic range. Search engines evaluate topics semantically, not by phrase percentage. Density is a diagnostic: it exposes accidental over-repetition (the same phrase at 4 percent reads as spam to humans first), filler phrases you overuse, and whether the page is even about what you intended. Fix outliers, then stop optimizing the number.
Why exclude stopwords, and can I add my own exclusions?
Words like "the" and "and" top every frequency list without telling you anything, so the one-word table hides common English stopwords by default. The two and three-word tables keep them because phrases like "how to install" are meaningful. You can also exclude numbers with the toggle, and type your own comma-separated exclusions, useful for brand names that would otherwise drown the table.
Can I export the results?
Yes: Export CSV downloads the visible table (phrase, count, density) for spreadsheets, and Copy table puts a tab-separated version on your clipboard for pasting into docs. Both are generated locally.
Is my content uploaded to analyze it?
No. The analysis runs in your browser, which matters when the text is an unpublished draft. Nothing is transmitted, and the draft autosave is an on-device toggle you control.
More free tools: Word Counter · Readability Checker · SERP Snippet Preview · Meta Tag Checker · Reading Time Calculator