Merging keywords for a VOSviewer project means producing a single, deduplicated list of phrases that the bibliometric tool can read as a clean co-occurrence input. VOSviewer groups terms by exact string match, so any spelling variation, capital letter, or word-order change appears as a separate node on the map. A pre-merge step that resolves every variant into one canonical phrase keeps clusters tighter and labels easier to read. Because VOSviewer ships with a built-in thesaurus that reads an external text file, the simplest practical workflow is to prepare that thesaurus, or the underlying keyword file itself, outside the application. The Keyword Combiner is a local string combiner that produces the complete Cartesian product of two lists in deterministic order, which makes it well suited to building variant lists that you later consolidate, edit, and import. Running the merge in the browser keeps raw lists off any server, and the deterministic output is easy to diff against earlier drafts when you iterate on your search terms.

how to merge keywords in vosviewer
Merge Keywords for VOSviewer with a Cartesian Product

What merging keywords actually means in a VOSviewer workflow

VOSviewer treats each keyword as an exact string when it draws the co-occurrence network. Two phrases that differ by even a single character, a capital letter, or a hyphen become separate nodes, which fragments clusters and forces reviewers to merge them visually after the fact. The practical workaround is to standardize the keyword list before the file is imported, so VOSviewer sees a single canonical token for each concept.

Two patterns are common in practice. The first is to feed VOSviewer a single keyword file where every variant of a concept has already been rewritten to one canonical form. The second is to import the original file and rely on VOSviewer's own thesaurus file, which reads a plain-text rule set and rewrites strings during import. Both patterns need a list of canonical terms and a list of variants; both are essentially merge operations performed at different points in the pipeline.

A Cartesian product tool does not replace either pattern, but it produces the systematic candidate set those patterns need. Once every pair between a base list and a modifier list is in front of you, you can prune obvious noise and rewrite what survives into the canonical form VOSviewer expects. Without that pass, reviewers tend to remember the obvious combinations and forget the cross-cuts, which later show up as orphan nodes in the VOSviewer map.

Why a Cartesian product is the right shape for this step

A keyword merge usually combines one fixed dimension with one variable dimension: a service, product, or research area on one side, and a region, adjective, year, or methodology on the other. The result is a small two-dimensional grid, and the safest way to fill that grid is the Cartesian product, where every entry from list A is combined with every entry from list B and no pair is skipped.

Skipping pairs is exactly the failure mode that most manual merges suffer from. Running a local combination pass first guarantees that every pair exists at least once on paper, even if the human later deletes many of them. The same logic that powers a Cartesian product in mathematics is what keeps the VOSviewer input complete: the grid exists whether or not every cell is useful, and the grid is what you audit.

For a quick sanity check, three colors combined with two product names produce six input pairs. That is the minimum useful size for any thesaurus rewrite, and it is the same shape you would use for a VOSviewer input with a slightly larger base list.

Build the merged list with Keyword Combiner

The Keyword Combiner runs in the current browser tab and produces every pair between two pasted lists in deterministic order. The whole pass is local: nothing is uploaded, and the output is generated as a single block you can copy after pressing the copy button.

  1. Paste one base term per line in list A and one modifier or second term per line in list B. Leave a blank line between entries only if you need visual separation; blank lines are ignored during processing.
  2. Decide whether A should appear before B or B should appear before A in the final phrase, then type the exact separator that should sit between them. The separator can be a space, a hyphen, a plus sign, an empty string, or any other short literal up to 20 Unicode code points.
  3. Press the combine action. The tool first computes the A × B pair count and rejects the whole request if it exceeds 10,000 input pairs, so no partial output is ever produced.
  4. Read the summary panel. It reports the normalized list sizes, the theoretical input-pair count, removed input duplicates, removed output collisions, and the unique output count.
  5. Open the preview and delete any candidate phrase that does not belong in your thesaurus or keyword file. The remaining lines are the merge you want.
  6. Press the copy control to export the unique one-per-line block into a spreadsheet, a thesaurus draft, or a content brief for later import into VOSviewer.

Because the loop order is stable, switching from A-then-B to B-then-A changes both the phrase and the listing order in a predictable way, which makes it easy to diff two drafts against each other during review.

Limits that decide whether every pair makes it through

Several ceilings interact, and a request can fail even when only one of them is exceeded. Understanding them up front is what keeps the merge from silently dropping rows you expected to see.

LimitValueEffect when exceeded
Input pair budget10,000The whole request fails before any output is generated; no partial result is returned.
Unique terms per list500Lines beyond the first 500 unique entries are excluded from the Cartesian product.
Editor text size100,000 UTF-16 code unitsAdditional pasted content cannot be added once the editor buffer is full.
Per-term length100 Unicode code pointsLonger terms are rejected as a single line; the rest of the list still runs.
Separator length20 Unicode code pointsLonger separators are rejected and the combine action will not start.

The pair budget is computed before output deduplication, so even a list with many identical concatenations cannot quietly grow past the cap. If your lists are larger than expected, narrow them before combining rather than hoping the collisions will trim them back down. Deduplication is case-sensitive, which means Shoe and shoe remain distinct because they may be intentional variants; that property is preserved, not flattened.

From the copied list to a VOSviewer-ready input

The copied block is plain text, one phrase per line, with no header row. Two paths forward are both supported by the same export.

If you intend to rely on VOSviewer's built-in thesaurus, paste the variant block into a plain-text editor and add the canonical term as a separate column or arrow marker where the format requires it, then save the file with a .txt extension. VOSviewer's documentation describes the exact layout for its thesaurus file; the Keyword Combiner is intentionally unaware of that format, so the mapping step is yours to author.

If you intend to feed a single keyword file directly, edit the merged block in a spreadsheet or text editor and rewrite every variant to the canonical phrase. Internal spaces, punctuation, accents, emoji, and non-Latin scripts are preserved through the combine step, so what you see in the preview is exactly what VOSviewer will read once the file is imported.

In either path, the output is intentionally a candidate list. Some phrases will sound unnatural, some will be policy-sensitive, and some will overlap in meaning. The combine pass guarantees coverage, not quality, and the human review pass is where relevance, landing-page fit, and demand validation belong.

Keyword Combiner vs the VOSviewer thesaurus file

The two approaches are complementary rather than competing. The table below summarizes where each one earns its keep in a real VOSviewer pipeline.

AspectKeyword CombinerVOSviewer thesaurus file
Where it runsLocal browser tab; no uploadInside VOSviewer during import
Primary jobGenerate every pair of two listsRewrite variants to a canonical form at import time
Output shapeOne phrase per line, copy-readyPlain-text rule set read by VOSviewer
DeterminismStable across identical runsStable, but only after the file is authored
What it does not doNo volume, intent, language, or synonym expansionNo volume, intent, or synonym expansion
When it shinesBuilding a candidate grid before rewritingFinal cleanup of strings during the VOSviewer import step

Used together, the combiner builds the candidate set and the thesaurus file applies the rewrites, which is the closest a string-combination utility can come to a VOSviewer-native merge without leaving the browser. Both tools stay narrow on purpose: they shape the input, and you decide what is worth importing.

For a deeper look, see A Keyword Density Checker Alternative for Local Drafts.