TapCub is live — analytics, insights and live chat, free on one platform

Free tool Keyword clustering tool: group keywords by shared words

Paste a keyword list or a keyword tool export and get it grouped: "check website traffic", "how to check website traffic" and "website traffic checker" end up together under one head term. The grouping reads the keywords themselves, with stemming and a threshold you set. It does not look at search results, and the page explains what that means for your plan.

  • Head term per group
  • CSV export
  • Runs locally
Clustering

Group keywords

One keyword per line; a volume column is optional (after a tab, after a comma at the end of the line, or a whole export with a header row).

Up to 5,000 lines. A first row with a Keyword, Query or 关键词 column is read as a header; volume comes from a Volume / Search volume column, or Impressions when there is none.

A keyword joins a group when its similarity to the group's head term is at least this. Higher = smaller, tighter groups.

Jaccard: shared ÷ all distinct words. Overlap: shared ÷ words in the shorter keyword, so "utm builder" fully matches "free online utm builder".

The keyword each group is built around. Without volumes, the shortest keyword is used.

Porter stemming treats track, tracking and tracked as one word.

Keywords

37

After removing duplicates.

Groups

5

With two or more keywords.

Ungrouped

5

Keywords left on their own.

Grouped

86.5%

Share of keywords in a group.

Notes

  • NoteFirst row read as a header: keywords from "keyword", volume from "volume".

Groups

Each card is a group: the head term first, then its members with their similarity to the head. Groups with the most volume come first.

1.live chat11 keywords · volume 33,550

  • live chat 21,000
  • live chat software 2,800 100%
  • live chat jobs 2,800 67%
  • live chats 1,900 100%
  • live chat app 900 100%
  • best live chat 900 100%
  • best free live chat 900 100%
  • live chat for website 700 67%
  • what is live chat 600 100%
  • live chat software for website 600 67%
  • website live chat 450 67%

2.check website traffic10 keywords · volume 12,100

  • check website traffic 2,600
  • how to check website traffic 1,400 100%
  • website traffic analysis 1,400 50%
  • increase website traffic 1,300 50%
  • website traffic check 1,000 100%
  • website traffic checker 1,000 50%
  • how to check site traffic 900 50%
  • analyze website traffic 900 50%
  • website traffic analyzer 800 50%
  • check site traffic 800 50%

3.statistical significance calculator7 keywords · volume 4,200

  • statistical significance calculator 2,300
  • statistical significance example 800 50%
  • how to calculate statistical significance 450 100%
  • significance calculator 200 67%
  • statistical significance meaning 200 50%
  • calculate statistical significance 150 100%
  • statistical significance formula 100 50%

4.utm link creator2 keywords · volume 450

  • utm link creator 250
  • create utm link 200 50%

5.utm tag builder2 keywords · volume 400

  • utm tag builder 300
  • online utm builder 100 67%

Not grouped (5)

  • utm generator 3,600
  • web traffic checker 1,300
  • site traffic analysis 900
  • stat sig calculator 700
  • utm maker 400
Runs entirely in your browser. Nothing you type here is uploaded or stored by TapCub.

Version v1.0Updated Update history

Read the result

What a group means, and what it does not

A group is a set of keywords that are written alike. That makes it a good starting point for a page outline, a content audit or a tracking list. Whether they belong on one page is a separate question.

Head term

The keyword the group is built around: the highest-volume one, or the shortest if you choose. It is usually the obvious main keyword for a page about the group's topic.

Similarity

The percentage on each member is its similarity to the head term. 100% means the same words after stemming and filtering ("live chats" and "live chat"); 50% means half of the words are shared.

Group volume

The sum of the members' volumes. It is an upper bound on demand, not a traffic forecast: people often search several of these keywords, and one page rarely ranks for all of them.

Not grouped

Keywords that matched nothing at this threshold. Some are different topics; others are synonyms the words do not show ("utm generator" and "utm maker", "web" and "website").

This is lexical clustering: it compares the words in the keywords. SERP clustering instead compares the pages Google ranks for each keyword, and needs those results to be fetched. This tool does not fetch search results, so it cannot tell whether two keywords can rank with one page. Check that on the results pages.

How to use it

Group a keyword list in three steps

Works with typed lists, keyword tool exports and Search Console query exports.

  1. 1

    Paste the list

    One keyword per line, or an export with its header row; the volume column is picked up automatically so each group can be built around its largest keyword.

  2. 2

    Tune the threshold

    Start at 0.5. If unrelated keywords end up together, raise it; if obvious variants stay apart, lower it or switch to the overlap coefficient. Tick "split by search intent" to keep how-to and tool keywords apart.

  3. 3

    Check and export

    Search the head term of each large group and a member or two. Export CSV, then merge or split groups by hand where the results disagree.

Method

Word sets, similarity and head-term grouping

Each keyword becomes a set of normalised words; groups form around head terms by comparing those sets.

  • English: lower case, full-width converted, split into words, stop words removed (the NLTK English list: how, to, for, is…), then stemmed with the Porter algorithm (1980) so tracking → track and calculators → calcul
  • Chinese has no spaces, so each run of characters is cut at function words (的, 了, 如何, 怎么…) and turned into overlapping 2-character pieces: 图片压缩 → 图片, 片压, 压缩. A single leftover character is kept as it is
  • Optional: generic modifiers (free, online, best, tools, 在线, 免费, 工具…) are dropped. If a keyword is nothing but stop words, its original words are kept
  • Keywords are taken in order of head priority (highest volume, or shortest). Each one joins the existing group whose head term it is most similar to, if that similarity reaches the threshold; otherwise it starts a new group. Ties go to the earlier group, so the same list always gives the same groups
  • With "split by search intent", a keyword can only join a head term with the same primary intent, using the rules of the search intent classifier

Jaccard

|A ∩ B| ÷ |A ∪ B|

{live, chat} vs {live, chat, softwar}: 2 ÷ 3 = 67%

Overlap

|A ∩ B| ÷ min(|A|, |B|)

{utm, builder} vs {utm, tag, builder}: 2 ÷ 2 = 100%

Join a group

similarity to head ≥ threshold

67% ≥ 50%: joins "live chat"

Worked example

37 analytics and live chat keywords, grouped

The default list is 37 keywords with US monthly volume from an Ahrefs export (November 2026), grouped with Jaccard at 0.5, Porter stemming and generic modifiers ignored. 32 keywords fall into 5 groups; 5 stay on their own.

Groups in the default list
Head termKeywordsVolumeWorth a second look
live chat1133,550"live chat jobs" is a job search, not a software search
check website traffic1012,100"increase website traffic" asks how to grow traffic, not how to measure it
statistical significance calculator74,200"meaning" and "formula" want an explanation; the head wants a calculator
utm link creator2450"utm generator" (3,600) and "utm maker" stay apart: different words, same need
utm tag builder2400Same need as the group above
web traffic checker11,300Not grouped: "web" and "website" are different words, so it misses the website traffic group

The words put "live chat jobs" next to "live chat software", while synonyms such as generator, maker and builder are kept apart. That is what lexical clustering can and cannot see. Ticking "split by search intent" moves the calculator away from "statistical significance meaning"; the synonyms still need a human.

Common mistakes

How keyword groups mislead

Grouping saves hours of sorting. It does not replace looking at search results.

One group = one page

Keywords that share words can still need different pages: a calculator and an explanation of the same formula, or a product and its job listings. Check the results of the head term and of the members that look different.

Trusting the threshold blindly

There is no correct threshold; it depends on how long your keywords are. Look at the largest group and the ungrouped list, and adjust until both make sense.

Expecting synonyms to merge

Generator and maker, web and website, 解析 and 格式化 are different words to this tool. Merge such groups by hand, or replace synonyms before pasting.

Adding volumes as traffic

Group volume adds up searches, not visitors. People search several variants, and a page usually ranks well for only some of them.

FAQ

Keyword clustering questions

Still have a question?

Chat with the team behind TapCub — we usually reply within a few hours on business days.

What is keyword clustering?

Putting related keywords into groups so you can plan one piece of content per topic instead of one per keyword. There are two common ways: by the words in the keywords (lexical, what this tool does) and by the overlap of the search results each keyword gets (SERP clustering).

Is this SERP clustering?

No. SERP clustering fetches the search results for every keyword and groups keywords whose top results share pages. This tool only compares the keywords' words, runs in your browser and fetches nothing. It cannot tell you whether two keywords can rank with the same page; check the results for that.

Which threshold should I use?

Start at 0.5 with Jaccard. Short keywords of two or three words change similarity in big steps, so for those try the overlap coefficient at 0.6. Then look at the largest group and the ungrouped list and adjust.

What is the difference between Jaccard and overlap?

Jaccard divides the shared words by all distinct words of both keywords, so long variants score lower. Overlap divides by the words of the shorter keyword, so "utm builder" and "free online utm builder" score 100%. Overlap groups more, and can pull loosely related long keywords into a short head term.

How is the head term chosen?

By default the highest-volume keyword, because it usually names the topic in the words most people use. Without volumes, or if you choose so, the shortest keyword. Each group is built around its head, so the head choice also changes the groups.

Does it work for Chinese keywords?

Yes. Chinese has no spaces, so keywords are cut at function words and split into overlapping 2-character pieces. Pieces that cross a word boundary add some noise, which is why the overlap coefficient often works better for Chinese lists.

How is this different from a word frequency counter?

The word frequency counter counts the words in one text. This tool compares keywords with each other and groups them. To label why people search each keyword, use the search intent classifier; to check a page's text against its keywords, the keyword density checker.

Is my keyword list uploaded?

No. Grouping runs in your browser. The list is not saved, not added to the page address and not sent to TapCub.

Changelog

Update history

New features, fixes and data refreshes for this tool, newest first.

  1. · v1.0

    LaunchedFirst release.

Missing something or found an error? Tell us — requests that come up often go into the next update. All tool updates

Next step

Track the groups once they are pages

After you publish, TapCub shows each page's Search Console queries, visits, sources and conversions together, so you can see whether a group's page catches the keywords you planned it for.

See your data clearly. Find your growth.

Every click, backed by data. Install one line of code and see your first numbers in a minute.

No credit card · Free plans for analytics and chat · Cookieless analytics