Hello, Security Reseacher!
This tool wordlistForger is designed to help and speed up situations where you need realistic test data for security testing and automation.
It will help you to create things like API keys, UUIDs, tokens, order IDs, invoice numbers, transaction IDs, coupon codes, etc.
This would be super useful for testing brute-force logic, IDOR cases, and any situation where you need structured and predictable identifiers.
pip install wordlistforger
git clone https :// github .com / m14r41 / wordlistForger .git & & cd wordlistForger & & python wordlistForger .py - p ORD - 2024 - H2B7 - - lock ORD - - l 20 - - strict - case - - live
Tools Switches And Argument Options:
Option / Flag
Description
-p, --pattern
(Required) Pattern used to generate strings. Give you word likewise have to generat (eg. aA99xx, ORD-192 api_keyxxxx
-l, --limit
(Required) Number of unique outputs to generate
--lock
Locks a fixed substring inside the pattern
--lock-mask
Mask to control fixed positions (x = random, other chars = fixed)
--strict-case
Enforces case sensitivity (lower stays lower, upper stays upper)
--match-pattern
Uses specific placeholders: n (numbers), x (hex), a (lower), A (upper)
-s, --seed
Set seed for reproducible results
-o, --output
Output file name (default: wordlist.txt)
--live
Print generate worlist live
With vs Without --match-pattern
Pattern
Without --match-pattern
With --match-pattern
Details
xxxx
Random letters (a–Z)
Hex chars (0-9, a-f)
x becomes hex only in match mode
nnnn
Random letters (a–Z)
Digits (0-9)
n works only in match mode
aaaa
Letters (mixed case)
Lowercase only (a-z)
Match mode enforces lowercase
AAAA
Letters (mixed case)
Uppercase only (A-Z)
Match mode enforces uppercase
aA9x
Mixed letters/digits
Structured (lower + upper + digit + hex)
Precise control with match mode
1234
Digits only
Digits only
Numbers behave same in both modes
ABCD
Random case letters
Strict uppercase letters
Match mode respects pattern case
Pattern
Without
With --match-pattern
xxxx
letters
hex
nnnn
letters
digits
aaaa
mixed case
lowercase
AAAA
mixed case
uppercase
Use Case
Command
What It Demonstrates
Basic generation
-p aaaa -l 10
Simple lowercase generation
Mixed case (default)
-p aaaa -l 10
Generates both lower + upper (no strict mode)
Strict case enforcement
-p aaaa -l 10 --strict-case
Forces only lowercase
Hex UUID-style
-p xxxxxxxx-xxxx -l 5 --match-pattern
Uses x as hex characters
Numeric only IDs
-p nnnnnn -l 20 --match-pattern
Uses n for digits
Fixed prefix (lock)
-p xxxx-xxxx -l 10 --lock 2026
Forces 2026 inside pattern
Position control (lock-mask)
-p AAAAAA -l 10 --lock-mask xxABxx
Forces specific positions (A, B)
Lock + mask combined
-p xxxx-xxxx -l 10 --lock 99 --lock-mask xx99xxxx
Combines both locking methods
Reproducible results
-p aaaa -l 10 -s 1234
Same output every run
Custom output file
-p aaaa -l 10 -o mylist.txt
Saves to custom file
Live output mode
-p aaaa -l 10 --live
Prints results instead of progress bar
API key generator
-p xxxxxxxxxxxxxxxxxxxxxxxx -l 5 --match-pattern -o keys.txt
Real-world API key format
MAC address
-p xx:xx:xx:xx:xx:xx -l 10 --match-pattern
Structured hardware IDs
Invoice IDs (strict format)
-p INV-AAAA-nnnn -l 20 --match-pattern --strict-case
Mixed structured format
Session tokens (reproducible)
-p xxxx-xxxx -l 10 --match-pattern -s 42
Debug-friendly generation
High-volume generation
-p nnnnnnnn -l 100000
Performance test
Live + output file
-p xxxx -l 10 --match-pattern --live -o live.txt
Console + file output
Complex enterprise ID
-p AAAA-xxxx-nnnn -l 50 --match-pattern --strict-case --seed 99 -o enterprise.txt
Combines multiple switches
Basics use case example ( i.e withut --match-pattern)
Generate API keys wordlist
python wordlistForger .py - p api_key7m9xq2kpl4 - l 10 - - strict - case
python wordlistForger .py - p api_key7m9xq2kpl4 - l 10 - - lock api_key - - live
python wordlistForger .py - p ODER - ID - 1943 AC - l 10 - - lock ODER - ID - - live
python wordlistForger .py - p ODER - ID - 1943 AC - l 10 - - lock ODER - ID - - strict - case - - live
Advance Use case: --match-pattern
Generate advance and more controlled wordlist with real types of data for pentesting in real word with switch : --match-pattern
python .\w ordlistForger.py -p aaaa -l 5
python .\w ordlistForger.py -p aaaa -l 5 --match-pattern
wordlistForger -p nnnnnn -l 5 --match-pattern
482193
905321
118273
667200
902134
wordlistForger -p xxxxxxxx -l 5 --match-pattern
a3f9c1e2
9b2c4d6f
0f1e2d3c
abcdef12
1234abcd
wordlistForger -p xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -l 5 --match-pattern
a3f9c1e2-9b2c-4d6f-0f1e-2d3cabcdef12
1234abcd-5678-9abc-def0-1234567890ab
deadbeef-cafe-babe-face-001122334455
abcdef12-3456-7890-abcd-ef1234567890
0f1e2d3c-4b5a-6978-8899-aabbccddeeff
wordlistForger -p ORD-nnnnnn -l 5 --match-pattern
ORD-482193
ORD-905321
ORD-118273
ORD-667200
ORD-902134
wordlistForger -p INV-AAAA-nnnn -l 5 --match-pattern
INV-ABCD-1234
INV-WXYZ-5678
INV-QWER-9087
INV-ASDF-1122
INV-ZXCV-3344
wordlistForger -p xxxxxxxxxxxxxxxxxxxxxxxx -l 5 --match-pattern
a3f9c1e29b2c4d6f0f1e2d3c
abcdef1234567890deadbeef
1234abcd5678efab9abc0001
0f1e2d3c4b5a69788899aabb
ffeeddccbbaa998877665544
wordlistForger -p xx:xx:xx:xx:xx:xx -l 5 --match-pattern
a3:1f:9c:e2:4d:6f
9b:2c:4d:6f:0f:1e
de:ad:be:ef:ca:fe
ab:cd:ef:12:34:56
0f:1e:2d:3c:4b:5a
wordlistForger -p SAVE-AAAA-nn -l 5 --match-pattern
SAVE-ABCD-12
SAVE-WXYZ-34
SAVE-QWER-56
SAVE-ASDF-78
SAVE-ZXCV-90
wordlistForger -p user_nnnnn -l 5 --match-pattern
user_48219
user_90532
user_11827
user_66720
user_90213
wordlistForger -p TXN-xxxxxxxx -l 5 --match-pattern
TXN-a3f9c1e2
TXN-9b2c4d6f
TXN-deadbeef
TXN-abcdef12
TXN-1234abcd
wordlistForger -p AAAAA-AAAAA-AAAAA -l 5
AbCdE-FgHiJ-KlMnO
XyZaB-CdEfG-HiJkL
MnOpQ-RsTuV-WxYzA
QrStU-VwXyZ-AbCdE
FgHiJ-KlMnO-PqRsT
wordlistForger -p EMP-nnnn -l 5 --match-pattern
EMP-1023
EMP-4587
EMP-7765
EMP-9901
EMP-3342
15. Bank reference numbers
wordlistForger -p REF-nnnnnnnn -l 5 --match-pattern
REF-48219384
REF-90532177
REF-11827366
REF-66720055
REF-90213411
wordlistForger -p TRK-AAAA-nnnn -l 5 --match-pattern
TRK-ABCD-1234
TRK-WXYZ-5678
TRK-QWER-9087
TRK-ASDF-1122
TRK-ZXCV-3344
wordlistForger -p SN-xxxx-xxxx -l 5 --match-pattern
SN-a3f9-c1e2
SN-9b2c-4d6f
SN-dead-beef
SN-abcd-1234
SN-0f1e-2d3c
wordlistForger -p ID-nnnnn -l 5 --match-pattern
ID-48219
ID-90532
ID-11827
ID-66720
ID-90213
wordlistForger -p xxxxxxxxxxxxxxxx -l 5 --match-pattern
a3f9c1e29b2c4d6f
9b2c4d6f0f1e2d3c
abcdef1234567890
0f1e2d3c4b5a6978
ffeeddccbbaa9988
wordlistForger -p Aaannn -l 5 --match-pattern
Abc123
Xyz456
Qwe789
Asd234
Zxc567
wordlistForger -p WIFI-xxxx-nnnn -l 5 --match-pattern
WIFI-a3f9-1234
WIFI-9b2c-5678
WIFI-dead-9087
WIFI-abcd-1122
WIFI-0f1e-3344
wordlistForger -p xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -l 5 --match-pattern
a3f9c1e29b2c4d6f0f1e2d3cabcdef12
9b2c4d6f0f1e2d3c1234abcd5678ef90
abcdef1234567890deadbeefcafebabe
0f1e2d3c4b5a69788899aabbccddeeff
ffeeddccbbaa99887766554433221100
wordlistForger -p SALE-AAAA-nn -l 5 --match-pattern
SALE-ABCD-12
SALE-WXYZ-34
SALE-QWER-56
SALE-ASDF-78
SALE-ZXCV-90
wordlistForger -p gamerAAA -l 5
gamerAbC
gamerXyZ
gamerQwE
gamerTyU
gamerUiO
wordlistForger -p log-2026-nnnn -l 5 --match-pattern
log-2026-1001
log-2026-2456
log-2026-7788
log-2026-9001
log-2026-3344
wordlistForger -p nnnnnn -l 5 --match-pattern
482193
905321
118273
667200
902134
wordlistForger -p DEV-xxxxxx -l 5 --match-pattern
DEV-a3f9c1
DEV-9b2c4d
DEV-deadbe
DEV-abcd12
DEV-0f1e2d
wordlistForger -p AA-nnnn-AA -l 5 --match-pattern
AB-1234-CD
XY-5678-ZW
QR-9087-AS
DF-1122-GH
ZX-3344-CV
wordlistForger -p xxxx-xxxx -l 5 --lock ACME
ACME-abcd
ACME-xYzA
ACME-qwer
ACME-lmno
ACME-uvwx
wordlistForger -p AAAAAA -l 5 --lock-mask xxHRxx
abHRcd
efHRgh
ijHRkl
mnHRop
qrHRst
wordlistForger -p nnnn -l 5 --match-pattern -s 42
wordlistForger -p xxxx -l 5 --match-pattern --live
wordlistForger -p CUST-nnnnn -l 5 --match-pattern
CUST-48219
CUST-90532
CUST-11827
CUST-66720
CUST-90213
wordlistForger -p SUB-xxxx-nnnn -l 5 --match-pattern
SUB-a3f9-1234
SUB-9b2c-5678
SUB-dead-9087
SUB-abcd-1122
SUB-0f1e-3344
wordlistForger -p oauth_xxxxxxxxxx -l 5 --match-pattern
oauth_a3f9c1e2
oauth_9b2c4d6f
oauth_deadbeef
oauth_abcdef12
oauth_1234abcd
wordlistForger -p aws-xxxx-xxxx -l 5 --match-pattern
aws-a3f9-c1e2
aws-9b2c-4d6f
aws-dead-beef
aws-abcd-1234
aws-0f1e-2d3c
wordlistForger -p iot-xxxxxxxx -l 5 --match-pattern
iot-a3f9c1e2
iot-9b2c4d6f
iot-deadbeef
iot-abcdef12
iot-1234abcd
wordlistForger -p BAK-2026-nnnn -l 5 --match-pattern
BAK-2026-1001
BAK-2026-2456
BAK-2026-7788
BAK-2026-9001
BAK-2026-3344
wordlistForger -p AUD-xxxx-nnnn -l 5 --match-pattern
AUD-a3f9-1234
AUD-9b2c-5678
AUD-dead-9087
AUD-abcd-1122
AUD-0f1e-3344
wordlistForger -p SYS-nnnnnnnn -l 5 --match-pattern
SYS-48219384
SYS-90532177
SYS-11827366
SYS-66720055
SYS-90213411