LaunchRanked

Keyword clustering tool

Paste a keyword list. We group keywords that mean the same thing, so you can plan one page per group instead of one page per phrase.

0 unique keywords · up to 200. Lines, commas and tabs all split keywords.

How similar must keywords be to share a group?

Higher = smaller, stricter groups. After a run, moving this regroups instantly without a new request.

Groups appear here, each named after its most central keyword, with a CSV export.

Grouped by an open embeddings model (BAAI bge-base-en-v1.5) running on Cloudflare Workers AI. It measures how close keywords are in meaning; it doesn't know search volumes or what Google ranks together. Review the groups before you plan pages. We don't save your keywords.

Why cluster keywords before you write

A keyword list isn’t a content plan. “Keyword grouping tool”, “keyword clustering tool” and “group keywords by topic” are one search with three phrasings, and one good page can rank for all of them. Write three pages instead and they compete with each other, split your links, and risk being treated as near-duplicates. On our own product we ended up noindexing near-duplicate pages; the Versely case study covers what that taught us.

Ahrefs defines keyword clustering as grouping keywords with the same or similar intent so you can target them with one page instead of several. Clustering turns the list into a plan: one group, one page. The group’s label is the main topic, and the other keywords become the phrasings, H2s and FAQs on that page.

How keyword clustering works

There are three common ways to decide that two keywords belong together:

How the grouping works here

  1. Each keyword goes through an embeddings model, BAAI’s bge-base-en-v1.5 on Cloudflare Workers AI. It turns text into a list of 768 numbers where phrases with similar meaning end up close together. It is an English-language model.
  2. We compare every pair with cosine similarity: 1 means the same meaning, lower means further apart.
  3. Average-linkage clustering starts with every keyword alone and keeps merging the two closest groups, as long as their average similarity stays above your cut-off. The presets are Tight (0.80), Balanced (0.74) and Loose (0.70), our own starting points from tests on one sample list.
  4. Each group is named after its most central keyword: the one with the highest average similarity to the rest. That’s usually the most generic phrasing, which makes a good primary keyword.

Turning groups into pages

  • Check intent, not only meaning. “What is search intent” and “search intent tool” are close in meaning but want different pages. When the intent model is available (Jev, TypeSafe’s decision model), we label every keyword’s search intent and flag a group whose keywords want different kinds of page: split those by hand.
  • Settle borderline pairs in the results. Ahrefs’ advice for two keywords you can’t decide on is to eyeball the search results for both. Do it in the SERP checker: if the same URLs show up for both, they get one page.
  • Singletons aren’t failures. An unclustered keyword may be a page on its own, or a long-tail question to answer inside a bigger page.
  • Pick the order. Check each group’s label in the keyword difficulty checker and start with the low-difficulty ones that have real searches. Then plan the structure around them with the topic cluster generator.
  • Outline next. Paste a group label into the blog outline generator and use the other keywords as H2 and FAQ ideas.

Common mistakes

  • Grouping by shared words, not by intent. Two keywords can share every word and want different pages, and two with no words in common can want one.
  • Treating the output as final. Ahrefs says clustering results will never be “perfect” and are almost always open to interpretation. Review every group.
  • Setting the cut-off too loose or too tight. Too loose and one group mixes page types. Too tight and you get near-duplicate pages that compete with each other (see keyword cannibalization).
  • Clustering a messy list. Remove irrelevant and branded keywords first. We lowercase and de-duplicate, but we can’t tell which keywords are off-topic for you.

Honest limits

The model knows language, not Google. It doesn’t see search volume, difficulty or what currently ranks, and it’s an English model. Very short or ambiguous keywords (“apple”) group unpredictably. The limit is 200 keywords of up to 80 characters each. Treat the output as a fast first pass that you review.

Questions

How does keyword clustering work?

It groups keywords that mean the same thing, so one page can target them all. SERP-based tools compare the URLs Google ranks for each keyword: Keyword Insights, for example, groups keywords that share 40% or more of the top 7 URLs by default. This tool compares meaning instead. An embeddings model turns each keyword into 768 numbers, we measure how close every pair is, and we merge the closest groups until they fall below your cut-off.

Is this the same as SERP-based clustering?

No. SERP clustering groups keywords when Google shows the same URLs for them, which needs live search results for every keyword. This tool groups by meaning, so it is faster and free, but it can't see search results. For a borderline pair, search both keywords in the SERP checker and see whether the same pages rank. If they do, give them one page.

Which cut-off should I use?

Start with Balanced (0.74), our default. If one group mixes two different searcher goals (a 'what is' question with a 'best tool' list), move towards Tight (0.80). If near-identical phrasings sit in separate groups, move towards Loose (0.70). These cut-offs are our own starting points, not a standard. The slider runs from 0.60 to 0.95 and regroups instantly, without a new request.

How many keywords can I cluster, and do you store them?

Up to 200 keywords, at least 3, and anything past 80 characters is cut to 80. Lines, commas, tabs and semicolons all separate keywords, and duplicates are dropped. We don't save them: your keywords go to the embeddings model on Cloudflare Workers AI and to the intent model (Jev, via OpenRouter) for this one request, and the groups come back to your browser.

What do I do with the clusters once I have them?

Give each group one page. Its label is the primary keyword, and the other keywords become the phrasings, H2s and FAQs on that page. Where a group is flagged as mixed intent, split it by hand. Rank the groups by the difficulty and searches of their label before you write. The CSV has one row per keyword: the group, the keyword, its similarity to the label and the group size, plus intent columns when intent labels are available. Unclustered keywords are listed with the label '(unclustered)'.

Free growth plan

See what your site is missing

Paste your site. Usually in under a minute: the Google searches you could win, the first articles Autopilot would write for them, and whether AI assistants name you. Free, no card.

See how AI SEO Autopilot worksOr book a free 15-minute SEO call

Related free tools

See all free tools