Updated Jul 14, 2026

Utilities

Strip wordlist duplicates without sorting away probability

Deduplicate a wordlist without sorting so probability order stays intact.

Agent

overview

What duplicut does

Before ffuf or a cracker, run duplicut on the merged wordlist so downstream nodes do not burn requests or hashes on repeats.

Reach for it when you concatenated SecLists or custom lists and need duplicates gone without a sort that wrecks guess order.

Input is a FILE wordlist; outputs are FILE and FOLDER. Set --threads and --memlimit when the list is multi-gigabyte.

source github.com/nil0x42/duplicut

use cases

Where duplicut fits

Clean a merged wordlist before fuzzing

Concatenate several lists into one, then run duplicut to strip the overlap while keeping probability order, so ffuf or gobuster never spends a request on a repeated guess.

Deduplicate multi-gigabyte lists under a memory cap

Set --threads and --memlimit so a huge wordlist dedupes fast on a worker without swapping or getting killed for exceeding RAM.

Normalize case and strip junk in one pass

Fold entries with --lowercase or --uppercase and drop non-printable lines with --printable during the dedup, producing a tidy list without reaching for a second tool.

Prep password lists for cracking

Dedupe a rockyou-plus-custom merge before feeding hashcat or john, cutting cracking time by removing candidates the tool would otherwise try twice.

reference

duplicut inputs and flags

7 inputs
NameTypeFlagDescription
inputFILE·Wordlist file to deduplicate.
threadsSTRING--threadsMax threads to use (default max).
memory-limitSTRING--memlimitCap peak memory so large lists do not exhaust RAM (default max).
maximum-line-sizeSTRING--line-max-sizeMax line size (default 64). Lines longer than this are dropped.
lowercaseBOOLEAN--lowercaseConvert every entry to lowercase during the dedup.
uppercaseBOOLEAN--uppercaseConvert every entry to uppercase during the dedup.
printableBOOLEAN--printableKeep only ASCII-printable lines, dropping the rest.

Showing key inputs. duplicut exposes 7 inputs in total.

example

Run duplicut

duplicut · command
# concatenate lists, then dedupe without reorderingcat rockyou.txt custom-paths.txt > merged.txtduplicut merged.txt -o clean.txt --threads 8 --memlimit 2G
sample output
123456password123456789qwertyabc123password1iloveyouadminletmein…  (3,221,225 duplicate lines removed; probability order preserved)

guidance

Choosing duplicut

Use duplicut to dedupe a wordlist while keeping probability order, right before fuzzing or brute forcing. To filter domains by level instead, use dsieve. To append only new lines to a growing file, use anew.

anew

Appends only lines not already present in a file. duplicut deduplicates a whole list at once without reordering it.

dsieve

Filters and extracts domains by subdomain level. Different list-shaping job than bulk wordlist dedupe.

faq

duplicut questions

Sorting destroys the probability order a good wordlist depends on. duplicut removes duplicate lines while preserving the original order, so a fuzzer or password cracker still tries likely guesses first.

Run duplicut yourself

A raw wordlist feeds duplicut, which strips duplicates while keeping probability order and passes the clean list to ffuf so discovered paths land as output.

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