Password-strength validator for Symfony

v2.0.1 2024-03-07 20:36 UTC


This package provides various password strength validators for the Symfony Validator component.

To use this bundle with a Symfony application use the RollerworksPasswordStrengthBundle.

Passwords can be validated using either strength-levels (weak, medium, strong etc) or by configuring explicit requirements (needs letters, numbers etc).

This library provides the same level of functionality as the PasswordStrengthBundle created by John Bafford.


To install this package, add rollerworks/password-strength-validator to your composer.json:

$ php composer.phar require rollerworks/password-strength-validator

Now, Composer will automatically download all required files, and install them for you.


You need at least PHP PHP 8.2 and Symfony 6, mbstring is recommended but not required.

Basic Usage


The password validators do not enforce that the field must have a value! To make a field "required" use the NotBlank constraint in combination with the password validator(s).

All examples assume you have the Composer autoloader already in your code, see also How to Install and Use the Symfony Components for more information.

Strength validation

Validates the passwords strength-level (weak, medium, strong etc).

Requirements validation

Validates the passwords using explicitly configured requirements (letters, caseDiff, numbers, requireSpecialCharacter).


For transparency and insight into the release cycle, and for striving to maintain backward compatibility, this package is maintained under the Semantic Versioning guidelines as much as possible.

Releases will be numbered with the following format:


And constructed with the following guidelines:

  • Breaking backward compatibility bumps the major (and resets the minor and patch)
  • New additions without breaking backward compatibility bumps the minor (and resets the patch)
  • Bug fixes and misc changes bumps the patch

For more information on SemVer, please visit


This library is released under the MIT license.


This is an open source project. If you'd like to contribute, please read the Contributing Guidelines. If you're submitting a pull request, please follow the guidelines in the Submitting a Patch section.