A complete and educational Python implementation of a targeted, keyword-based wordlist generator. This project demonstrates token permutation, case/leetspeak variation, and numeric-tail expansion using structured logic.
It is created as a learning and academic project to understand how targeted password wordlists are built internally (for OSINT / penetration testing use-cases), not as a bulk dictionary-generation tool.
wordlist-generator-python/
โ
โโโ assets/ # Screenshots
โโโ main.py # Basic CLI version
โโโ interactive.py # Rich-powered interactive wizard
โโโ requirements.txt # Dependencies
โโโ LICENSE # Project license
โโโ README.md # Project documentation- Accepts first name, last name, nickname, team/company, and date
- Cleans and normalizes each input into safe tokens
- Parses dates (
ddmmyyyy/ddmmyy) into day, month, year, and combined sub-tokens - Demonstrates structured, targeted wordlist construction
- Permutes tokens (1 to 3 combined by default) in every order
- Joins combinations with
-,_,., or no separator - Reads back the full permutation set to build the base wordlist
- Case variants: lower, UPPER, Capitalized, and CamelCase
- Leetspeak variants (
aโ4,eโ3,iโ1,oโ0,sโ5,tโ7,bโ8) - Numeric tail suffixes (
00โ99and the last 10 years) - Final length filtering (default: 7โ24 characters)
- Clean and readable logic
- Set-based deduplication throughout
- Ideal for beginners in OSINT / password-wordlist theory
- No external dependencies (Basic CLI)
- Beautiful colored terminal UI using Rich
- Guided wizard-style prompts with optional fields
- Animated spinner while generating
- Structured panel + table summary of results
- ๐งผ Basic CLI (
main.py) โ argparse flags, no dependencies - ๐จ Rich CLI (
interactive.py) โ guided wizard with colors and panels
| Technology | Role |
|---|---|
| Python 3 | Core programming language |
| argparse | Basic CLI flag parsing |
| itertools / re | Token permutation & cleaning |
| Rich | Styled interactive CLI |
This project is built to:
- Understand targeted, personal-info-based wordlist generation
- Learn permutation and variant-expansion logic
- Explore how OSINT data (names, dates, nicknames) maps to password guesses
- Study case-transform and leetspeak substitution techniques
โ ๏ธ This project is intended strictly for authorized penetration testing, learning, and demonstration purposes.
git clone https://github.com/ShakalBhau0001/wordlist-generator-python.gitcd wordlist-generator-pythonpip install richOR
pip install -r requirements.txtpython main.py -f John -l Doe -n JD -t RedTeam -d 15081995python interactive.py- Enter first name
- Enter last name
- Enter nickname (optional)
- Enter team/company (optional)
- Enter date
dd/mm/yyyyorddmmyyyy(optional) - View the generated word count and saved file path
Basic CLI:
python main.py -f John -l Doe -n JD -t RedTeam -d 15081995
========================================
Wordlist Generator
========================================
Generating wordlist....
Generated 42218 words.
Saved to: wordlist.txtCustom output & length flags:
python main.py -f John -l Doe -o custom --min-len 8 --max-len 16- Not a bulk/general-purpose dictionary generator
- Combination count grows fast with more tokens (
--max-combo) - Only ASCII alphanumerics plus
. _ -are kept in tokens - CLI-based interaction only
- Add support for additional personal-info fields (pet name, city, etc.)
- Smarter leetspeak (multi-substitution combinations)
- Progress bar for the Basic CLI version
- Add input validation enhancements
- Create GUI version
- Export directly in Hashcat/John-compatible formats
This implementation is created for educational and learning purposes only.
Use this tool only on systems and accounts you own or are explicitly authorized to test. The author is not responsible for any misuse.
Creator: Shakal Bhau
GitHub: ShakalBhau0001
If you like this project, consider giving it a โญ on GitHub!
