Updated Jul 15, 2026

Utilities

Join two wordlists into fuzzing candidates

Cartesian join of two wordlists for fuzzing candidates.

Go · MIT license

Agent

overview

What mgwls does

mgwls builds composite fuzzing tokens by pairing every line from a left wordlist with every line from a right list.

Pass files with -l and -r, set -delimiter between halves, or use -w with -side when one side is a single fixed word.

Trickest runs mgwls as a managed Utilities node: two lists in, FILE and FOLDER of merged lines out. Follow with duplicut before ffuf when the product repeats.

source github.com/trickest/mgwls

use cases

Where mgwls fits

Build name-plus-year candidates

Merge a list of base tokens with years or version suffixes so credential and path fuzzing covers dated variants in one pass.

Combine paths with extensions

Join directory stems with file extensions to produce upload and backup path candidates for content discovery.

Prefix or suffix a fixed word

Use -w and -side when one side is a single token (for example an environment name) applied across an entire wordlist.

Prepare a list for fuzzing

Generate the merged file, optionally dedupe it, and hand it to a fuzzer as the wordlist input for the next stage.

reference

mgwls inputs and flags

5 inputs
NameTypeFlagDescription
wordlist-oneFILE-lLeft-hand wordlist file.
wordlist-twoFILE-rRight-hand wordlist file.
delimiterSTRING-delimiterString delimiter to place between words.
single-wordSTRING-wSingle word to use for concatenation instead of one list.
single-word-sideSTRING-sideSide for the single word: left or right.

Showing key inputs. mgwls exposes 5 inputs in total.

example

Run mgwls

mgwls · command
# merge base tokens with year suffixes for fuzzing candidates
mgwls -l bases.txt -r years.txt -delimiter ""
sample output
admin2024
admin2025
api2024
api2025
dev2024
dev2025
staging2024
staging2025
www2024
www2025

guidance

Choosing mgwls

Use mgwls when you need composite candidates from two lists before fuzzing. It merges; it does not clean or dedupe. Run clean-wordlist first for junk, duplicut after for repeats.

clean-wordlist

Cleans a single wordlist with regex passes. Run it before mgwls to trim noise, not to merge.

duplicut

Removes duplicates from a wordlist without sorting. Apply it to mgwls output when the cartesian product repeats.

mkpath

Builds URL paths from a wordlist. Overlaps for path prep but does not merge two lists.

faq

mgwls questions

Pass the left list with -l and the right list with -r, for example `mgwls -l bases.txt -r suffixes.txt -delimiter -`. Every left line is joined with every right line.

It sets the string inserted between the two halves. Use an empty delimiter for concatenation, or characters such as -, ., or / to match the target naming pattern.

When one side is a single fixed token. Combine -w with -side left or right to prefix or suffix that token across the other wordlist.

No. Follow the merged output with duplicut when the cartesian product creates repeated lines.

mgwls joins two lists into composite tokens. mkpath shapes URL paths from one wordlist for content discovery.

Run mgwls yourself

Two wordlists feed mgwls, which merges every base word with every suffix and writes the combined list as a queryable output.

Facts on this page come from the live Trickest tool library.