← All tools

Keyword clustering

Groups up to 10,000 queries into page-sized clusters right in your browser, with nothing uploaded to a server. Built for competitor keyword research: paste an Ahrefs or Semrush export and get groups, each with its own main keyword.

Format: keyword or keyword; volume, or a table with headers. 0 keywords
lower = larger clusters, higher = more precise
Synonyms
Processing…

Move “” to cluster:

What the clustering tool does

The tool splits a list of search queries into groups, and each group usually maps to one page. It works best on keywords your site doesn't cover yet. For example, you can export a competitor's keywords from Ahrefs or Semrush and turn them into future pages. Each group has a main keyword with the highest volume, which is a good starting point for the page title.

How to use

The tool takes 2 to 10,000 unique queries. You can paste a plain list, one query per line, and add volume after a semicolon, comma or tab: iphone 15 price; 8100. You can also paste a table or upload a CSV/TSV file from Ahrefs, Semrush, Keyword Planner or Search Console.

If the first row is a header such as Keyword or Query, the tool finds the keyword and volume columns itself. You can change them in the selects under the field. Volume can be written as 5400, 5 400, 5,400 or 5.4K. UTF-16 files, which Ahrefs exports, are read too.

Clustering takes four steps:

  1. Paste the queries or click “Upload CSV/TSV”.
  2. Set the “Similarity threshold” (from 0.15 to 0.85, default 0.4) and “Min. cluster size” (default 2).
  3. Change the options under the slider and add synonyms if needed.
  4. Click “Cluster”. After the first run, changing the threshold or options re-clusters on its own.

Case-only duplicates are dropped, keeping the first. “Min. cluster size”, sorting and search apply instantly, without re-clustering.

How grouping works

Each query becomes a set of words. The tool removes punctuation, function words and commercial words like buy and price. That is why “buy iphone 15” and “iphone 15 price” have the same word set. Processing runs in a background browser thread (a Web Worker), so the page does not freeze.

Word weights and similarity

Words carry different weights. A rare word weighs more than one found in half the list, and numbers and model names (15, s24, 2026) get extra weight. The similarity of two queries is the weight of their shared words divided by the weight of all their words. This is the weighted Jaccard index with IDF weights.

The “Keep different models and numbers apart” option blocks merging queries that both contain numbers but share none. So “iphone 14 pro” and “iphone 15 pro” land in different groups, even though two of their three words match.

How clusters form

The tool sorts queries by volume. The highest-volume query becomes the main keyword of the first cluster. Each next query is compared with the main keywords of existing clusters and joins the most similar one if the similarity reaches the threshold. Otherwise it starts a new cluster.

This stops groups from growing in a chain, where A is like B, B is like C, and all three end up together. Two more steps follow the main pass. A query left alone joins the cluster of its most similar neighbour, if it is also somewhat similar to that cluster's main keyword. A general query like “iphone” joins the largest cluster whose main keyword contains all of its words.

Options

Each option turns on a separate rule. These are the ones worth knowing before you run the tool:

You set synonyms in the “Synonyms” block: notebook, laptop computer = laptop. Use it for words that match neither by spelling nor by transliteration. “Find synonyms in the list” looks for word pairs that are the only difference between queries: “asus laptop price” and “asus notebook price” give the pair “notebook = laptop”. Brands and cities swap the same way, so pick the pairs you want with the checkboxes. With semantic similarity on, the model ranks pairs by word similarity, and pairs like “adidas = nike” sink to the bottom marked “possibly different”. The model errs more often on single words than on queries, so treat the ranking as a hint.

How to read the results

A summary above the clusters shows the number of clusters and queries, total volume, unclustered queries and permutations. A cluster's name is its main keyword, marked “main”. A permutation is the same words in a different order, like “price iphone 15” and “iphone 15 price”. It stays in the cluster but is left out of total volume, so demand isn't counted twice.

“Copy” copies every query in a cluster, and “⇄” next to a query moves it to another cluster or a new one. Manual moves are lost when you re-cluster. The keyword-clusters.csv file has the columns keyword, cluster, is_main, cluster_size, cluster_volume, volume, intent, lang and duplicate_of.

Limits

Without the semantic mode the tool compares words only, so it can’t join synonyms with no shared root (“sneakers” and “trainers”) on its own. “Find synonyms in the list” shows a pair only when it appears in at least two query pairs. With the semantic mode on, it also shows rarer pairs that the model rates as close. Other synonyms must be set by hand. The tool can’t detect the language of short queries with no telltale letters or words, so they stay neutral. The semantic model tells topics apart better than intents. To it, “how to wash sneakers” and “running sneakers” are nearly the same, and it knows slang poorly. The tool ignores Google results, so review the clusters by hand before you distribute queries across pages.

Sources

Encyclopedia articles describe the similarity formula and word weighting. MDN and Hugging Face document background processing and the model.

Built by , SEO Expert. Description updated in October 2026.