Keyword Clustering — what it does
Groups a keyword list into topics so you can plan pages instead of publishing near-duplicates. The whole calculation runs on your device: tokens are stemmed and stop-worded, turned into TF-IDF vectors of words and phrases, compared with cosine similarity, and assigned greedily to a cluster at the threshold you set. Volumes are used when your list has them — combined per cluster, and the highest-volume keyword becomes the label.
How to use Keyword Clustering
- Paste one keyword per line. Add a volume with a comma or tab if you have one (“pdf editor, 8100”), or paste a CSV column straight in.
- Set the similarity threshold. 30-45% suits most lists; higher gives tighter, smaller clusters.
- Set the minimum cluster size — anything smaller lands in an unclustered long-tail bucket instead of distorting the plan.
- Optionally tick the AI naming step to have your own LLM label each finished cluster with 2-4 words. The grouping has already happened on-device.
- Export the CSV (cluster, keyword, volume, intent) or copy the clusters as a Markdown outline for your content plan.
Worked example: compressing and merging PDF
A list of ten keywords containing “compress pdf”, “reduce pdf size”, “merge pdf”, “merge pdf files”, “combine pdf” and several “pdf editor” variations resolves into two clear clusters — a compression group labelled “compress pdf” (33,100 combined volume) and a merging group labelled “merge pdf” (24,100) — with the editor variations forming their own third group instead of being scattered one per page.
At a glance
| Algorithm | TF-IDF over stemmed unigrams and bigrams, cosine similarity, greedy centroid clustering |
|---|---|
| Threshold | 5-90%, default 35%; higher means tighter clusters |
| Volumes | Optional — read from “keyword, volume”, tab-separated or CSV input |
| Outputs | Cluster cards, CSV, JSON, Markdown copy |
| AI step | Optional cluster naming with your own key; clustering itself never leaves the browser |
| Limits | Lexical similarity, not Google SERP overlap — two keywords with no shared words will not cluster even if they rank together |
| Size | Up to 3,000 keywords per run |
Frequently asked questions
- What is Keyword Clustering?
- Group a keyword list into topical clusters entirely on-device — TF-IDF vectors of words and phrases, cosine similarity and greedy clustering at the threshold you choose, with volumes, intents and CSV export. Optional BYOK step names the clusters with your own LLM.
- Is Keyword Clustering free to use?
- Yes — Keyword Clustering is free to use, with no sign-up, no install and no account.
- Does Keyword Clustering upload or store my data?
- No — processing happens in your browser. AI requests go directly from your browser to the AI provider you connect with your own key, so your data never touches a SarvTools server.
- How does the AI in Keyword Clustering work?
- It uses a bring-your-own-key model: you connect your own provider (OpenAI, OpenRouter, Groq, Gemini or DeepSeek) in Settings, and your key stays in your browser.
- Should I raise or lower the threshold?
- If clusters look too broad (unrelated ideas grouped together), raise it. If your list shatters into singles, lower it. 35% is a sensible starting point for keyword lists of 50-500 rows.
- Is this the same as SERP-overlap clustering?
- No. SERP overlap clusters keywords by shared ranking pages and needs live search data; this measures shared language. It is faster, private and free, and it gets you most of the way — then verify the important clusters against real SERPs.
- Do I need volumes for it to work?
- No. Without volumes the label becomes the shortest keyword in the group and the cluster still forms correctly; volumes only change the label choice and the combined-volume total.