A modern, privacy-focused password strength analyzer built with React and TypeScript
Get instant feedback on password security with detailed crack-time estimates and actionable improvement suggestions
🚀 Try Now »
Report Bug
·
Request Feature
Walid PassAnalyzer is a comprehensive password security assessment tool designed with privacy and user experience at its core. Built using modern React and TypeScript, it provides real-time analysis of password strength using industry-standard algorithms, helping users understand and improve their password security without compromising their privacy.
- 100% Client-Side Analysis - No data ever leaves your browser
- No Storage - Passwords are never saved or transmitted
- Open Source - Full transparency in code and security practices
- Real-time Strength Assessment - Instant feedback as you type
- Multiple Attack Scenarios - Estimates for online/offline attacks with different computational resources
- Smart Suggestions - Actionable tips to improve password security
- Visual Strength Meter - Color-coded progress bar with percentage indicators
- Responsive Design - Works seamlessly on desktop, tablet, and mobile
- Dark Theme - Easy on the eyes with a sleek, professional interface
- Accessibility - ARIA labels, keyboard navigation, and screen reader support
- Smooth Animations - Polished transitions and micro-interactions
- Node.js
- Modern web browser with ES6+ support
# Clone the repository
git clone https://github.com/ahmeddwalid/Walid-PassAnalyzer.git
# Navigate to project directory
cd Walid-PassAnalyzer
# Install dependencies
npm install
# Start development server
npm run dev
Visit http://localhost:5173
on your web browser to see the application running locally.
graph TD
A[User Input] --> B[PasswordInput Component]
B --> C[App Component State]
C --> D[zxcvbn Library]
D --> E[Password Analysis]
E --> F[StrengthMeter Component]
E --> G[FeedbackDisplay Component]
F --> H[Visual Strength Bar]
G --> I[Crack Time Estimates]
G --> J[Security Warnings]
G --> K[Improvement Suggestions]
style A fill:#e1f5fe
style D fill:#fff3e0
style H fill:#e8f5e8
style I fill:#fff8e1
style J fill:#ffebee
style K fill:#f3e5f5
The analyzer provides estimates for four different attack scenarios:
Attack Type | Rate | Description |
---|---|---|
Online (Unthrottled) | 10/sec | Basic online attacks without rate limiting |
Online (Throttled) | 100/hour | Attacks against services with security measures |
Offline (Slow Hash) | 10K/sec | Attacks on properly hashed passwords (bcrypt, Argon2) |
Offline (Fast Hash/GPU) | 10B/sec | Attacks using GPUs or weak hashing algorithms (MD5, SHA-1) |
- React - Modern React with latest features
- TypeScript - Type safety and developer experience
- Vite - Fast build tool and development server
- Tailwind CSS - Styling
- zxcvbn 4.4.2 - Industry-standard password strength estimation
- Client-side Processing - No server dependencies for security analysis
- ESLint - Code quality and consistency
- Prettier - Code formatting
- GitHub Pages - Automated deployment
Project's Link: https://github.com/ahmeddwalid/Walid-PassAnalyzer
Any contributions you make are greatly appreciated! Your help makes this project better for everyone.
The following features are currently being considered for implementation:
-
Enhanced Analysis Features:
- Custom dictionary support for organization-specific terms
- Breach database integration warnings
-
User Experience Improvements:
- Export analysis reports
- Password generation
If you'd like to contribute, please follow these steps:
- Fork the repository: Create your own copy of the project
- Create a branch:
git checkout -b feature/your-feature-name
- Implement your contribution: Make your changes with clear, well-commented code
- Commit your changes:
git commit -m "descriptive commit message"
- Push to the branch:
git push origin feature/your-feature-name
- Create a pull request: Submit your changes for review
- Follow TypeScript conventions: Ensure type safety and proper interfaces
- Maintain privacy principles: Never add features that compromise user privacy
- Test your changes: Ensure all components work across different browsers
- Update documentation: Include relevant documentation updates
- Ensure accessibility: Follow ARIA guidelines and keyboard navigation standards
- Write clear commit messages.
- Be respectful and considerate of other contributors.
- Use TypeScript for all new components
- Follow the existing component structure and naming conventions
- Ensure responsive design principles are maintained
- Use Tailwind CSS classes consistently with the existing theme
Thank you for your contributions!
This project is distributed under the Apache 2.0 license. See LICENSE.txt
for more information.
- zxcvbn - Dropbox's excellent password strength estimation library
- Heroicons - For the clean and consistent icons