A modern, secure password generator web application built with Next.js. Generate random and memorable passwords with customizable options including length, numbers, and symbols.
🔗 Live Demo: https://passgen.noahatkins.com
- 🎲 Random Password Generation - Cryptographically secure random passwords
- 🧠 Memorable Password Generation - Word-based passwords that are easier to remember
- ⚙️ Customizable Options:
- Adjustable password length (8-64 characters)
- Toggle for including numbers
- Toggle for including symbols
- 🎨 Modern UI:
- Dark/Light/System theme support
- Responsive design
- Clean and intuitive interface
- 📋 Quick Actions:
- One-click copy to clipboard
- Regenerate password instantly
- 🔍 SEO Optimized - Full metadata, Open Graph tags, and structured data
- 🌙 Theme Toggle - Switch between light, dark, and system themes
- Framework: Next.js 16
- Language: TypeScript
- Styling: Tailwind CSS v4
- UI Components: Radix UI + ShadCN
- Icons: Lucide React
- Theme: next-themes
- Node.js 18+
- npm, yarn, pnpm, or bun
- Clone the repository:
git clone https://github.com/noahatkins/password-generator.git
cd password-generator- Install dependencies:
npm install- Run the development server:
npm run dev- Open http://localhost:3000 in your browser
npm run build
npm startpassword-generator/
├── app/
│ ├── layout.tsx # Root layout with theme provider
│ ├── page.tsx # Main password generator page
│ ├── not-found.tsx # 404 page
│ ├── robots.ts # Robots.txt generator
│ ├── sitemap.ts # Sitemap generator
│ └── globals.css # Global styles and theme variables
├── components/
│ ├── ThemeToggle.tsx # Theme switcher component
│ └── ui/ # ShadCN UI components
├── lib/
│ ├── password-generator.ts # Password generation logic
│ └── utils.ts # Utility functions
└── public/ # Static assets
Generates cryptographically secure passwords using a mix of:
- Uppercase letters (A-Z)
- Lowercase letters (a-z)
- Numbers (0-9) - optional
- Symbols (!@#$%^&*()_+-=[]{}|;:,.<>?) - optional
Creates word-based passwords using:
- Common, easy-to-remember words
- Separators (-, _, ., !)
- Optional numbers and symbols
- Capitalization for better readability
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is open source and available under the MIT License.
Noah Atkins
- GitHub: @noahatkins
- Website: https://noahatkins.com