Back to Tools

Keyword Grouper

Use cases

Quick keyword organisation before deeper analysis Grouping similar long-tail variations Initial clustering at scale Finding keyword patterns by text similarity

Fast fuzzy keyword grouping using PolyFuzz TF-IDF similarity.

Compares keywords against themselves and groups based on adjustable similarity threshold (0.5-0.99, default 0.80).

Higher thresholds create stricter matching and smaller clusters.

Note: uses TF-IDF matching, not semantic/embedding matching.

Streamlit App

Platform

Browser-based (no installation required)

Input

CSV file with keywords (minimum 2 keywords)

Select column containing keywords

Output

CSV with keyword clusters and match scores

Launch App View Source

Features

  • PolyFuzz TF-IDF similarity matching
  • Similarity threshold slider (0.5-0.99, default 0.80)
  • Auto UTF-8/Latin-1 encoding handling
  • Unclustered keywords marked as [No Cluster]
  • Results sorted by cluster size descending
  • Summary: total keywords, clustered count, cluster count

How to use

  1. 1 Upload CSV with keywords
  2. 2 Select the keyword column
  3. 3 Adjust similarity threshold (higher = stricter)
  4. 4 Download CSV with cluster assignments

Frequently asked questions

Will synonyms end up in the same group?
No. TF-IDF matching scores how much wording two keywords share, not what they mean, so 'sofa bed' and 'couch that converts' will never group however you set the threshold. It excels at collapsing reworded variants of the same phrase; use the Semantic Keyword Clustering tool when you need meaning-based grouping.
What are the input requirements?
A CSV only (Excel is not accepted), read as UTF-8 with an automatic Latin-1 fallback. Any column can hold the keywords since you pick it from a dropdown, and you need at least 2 non-empty keywords for the matcher to run.
What do the output columns mean?
Keyword is your original term, Matched To is the keyword it scored highest against, Match Score is that TF-IDF similarity, and Cluster Name is the group representative PolyFuzz assigned. Clusters containing only one keyword are renamed [No Cluster], and results are sorted by cluster size so the biggest groups appear first.

Need something built for your business?

This tool started as bespoke client work. I build custom scripts, data pipelines, and full apps for SEO and product data problems that off-the-shelf tools don't solve.

Tell Me What You Need