Documentation
Features
- Generate secure passwords with customizable length (7-75 characters)
- Toggle character sets: uppercase, lowercase, numbers, and special characters
- Modern Material 3 interface with dark/light theme support
- Resizable window with adaptive grid layout
- Instant clipboard integration with visual feedback
- Smooth animations and interactive tooltips
- Offline operation - no internet connection required
Desktop Application Usage
Launch PwdGen from your applications menu or terminal:
pwdgen
Interface Elements
- Character Set Toggles: Enable/disable uppercase, lowercase, numbers, and special characters
- Password Length Slider: Adjust from 7 to 75 characters
- Generate Button: Create a new password based on your settings
- Copy Button: Instantly copy the generated password to clipboard
- Theme Toggle: Switch between light and dark modes
- Window Resize: Toggle between compact and expanded layouts
Installation Options
Linux (Recommended)
Install via APT repository:
# Add repository
wget -qO- https://zahid4kh.github.io/my-apt-repo/KEY.gpg | sudo gpg --dearmor -o /usr/share/keyrings/zahid-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/zahid-archive-keyring.gpg] https://zahid4kh.github.io/my-apt-repo stable main" | sudo tee /etc/apt/sources.list.d/zahid-apps.list
# Install
sudo apt update && sudo apt install pwdgen
Windows
Windows installers (.msi and .exe) are coming soon!
Build from Source
git clone https://github.com/zahid4kh/pwdgen.git
cd pwdgen
chmod +x gradlew
./gradlew run
Security Best Practices
- Use passwords with at least 12 characters for better security
- Include a mix of all character types when possible
- Generate unique passwords for each account
- Consider using a password manager to store generated passwords
- Regularly update passwords for critical accounts
Technical Details
- Platform: Kotlin with Compose Desktop
- UI Framework: Material 3 design system
- Requirements: JRE 17+ (automatically installed with package)
- Package Size: ~110MB installed (includes JRE)
- Data Storage: All generation happens in memory - no data persistence