CSS Gradient Generator
Build linear, radial and conic gradients and copy the CSS.
Design & SEO
One, two and three word phrase frequency with stopwords removed.
There is no target, and chasing one is a mistake that predates modern search by fifteen years.
Google has not used raw keyword density as a ranking signal since the mid-2000s. Modern retrieval uses semantic embeddings and passage-level relevance — the system understands that a page about "reducing photo file size" is about image compression whether or not the exact phrase appears.
The frequently-quoted "1–2%" figure has no basis in anything Google has published. Writing to hit it produces text that reads as though it was written to hit it, which is exactly the pattern the helpful content system was built to demote.
What density analysis is genuinely useful for is diagnosis, not optimization. It tells you what a machine reading your page thinks it is about — which is sometimes not what you intended.
An n-gram is a run of n consecutive words. "image" is a unigram, "image compressor" a bigram, "free image compressor" a trigram.
Single words are close to useless for analysis because they lose all context. "Free" appearing forty times tells you nothing; "free trial" appearing forty times on a page about a free tool tells you the page has a conversion problem.
Search queries are overwhelmingly multi-word — the median is around four words and rising as voice and AI-assisted search grow. Analyzing bigrams and trigrams matches how people actually search, which is why this tool ranks all three lengths separately rather than only counting words.
Stop words — the, a, of, in, is, and, to — are the most frequent words in any English text by a wide margin, and they carry no topical information. Without filtering, every density report would be a list of articles and prepositions.
This tool filters a standard English stop word list from unigram analysis. For bigrams and trigrams it filters only phrases that consist entirely of stop words, because phrases like "out of stock" and "how to install" are meaningful and would be destroyed by aggressive filtering.
The list is English. Running non-English text through it will produce a report dominated by that language’s function words, which is a limitation worth knowing rather than a bug.
Not in any direct sense, and it has not been for roughly twenty years. Google uses semantic understanding rather than term frequency counting. Density is a diagnostic, not a lever.
Above about 4–5% for a single phrase reads as stuffing. That is a ceiling to stay under, not a target to approach.
As many times as reads naturally, which for a 1,200-word article is usually three to eight including headings. Writing to a number produces text that sounds like it.
Once in the title and once early in the body is sufficient. Beyond that, natural variations and related terms serve you better, because the retrieval system matches meaning rather than strings.
No. Fetching another site from your browser is blocked by cross-origin policy. Copy the page text and paste it in.
Term frequency weighted against how rare the term is across a whole corpus. It needs a corpus to compare against, which a client-side tool cannot hold. This shows raw term frequency, which is the useful part for a single page.
No. Tokenization and counting run entirely in this page — safe for unpublished work.