How To Build A Password Strength Indicator In Bubble (Complete Guide)
22nd of July, 2025
A helpful password strength indicator is a neat UI element that guides new users to create secure passwords during signup by providing real-time feedback on password quality.
In this comprehensive guide, you’ll learn how to build both a visual password strength indicator and a detailed password policy checker that displays specific requirements like character count, uppercase letters, numbers, and special characters.
1. Set Up Your Password Policy
Before building the visual elements, you need to configure your app’s password policy at the application level.
Navigate to Settings > General and scroll down to find Define a password policy. By default, this setting is turned off.
Enable the password policy and configure the following requirements:
- Minimum length: 8 characters (recommended)
- Require a number: Yes
- Require a capital letter: Yes
- Require a non-alphanumeric character: Yes

These settings will establish the foundation for your password strength calculations and policy requirements.
2. Build the Basic Password Strength Indicator
Create the Container Structure
Start by adding the main container elements to your signup page:
- Add a Group element with 100% width and appropriate height
- Inside this group, add a Text element for displaying strength labels
- Below the text, add another Group with 100% width and 16px height
Add Visual Strength Indicators
Within the second group, you’ll create three shape elements to represent weak, medium, and strong password levels:
- Drag a Shape element into the group
- Set the shape’s width to 33% and height to 16 pixels
- Copy this shape twice (Ctrl+C, Ctrl+V) to create three total shapes
- Select the containing group and change the layout from Column to Row

This creates three side-by-side bars that will change colors based on password strength.
Configure Conditional Formatting
Now you’ll set up the logic to change colors based on password strength. Select the first shape (weak password indicator) and add these conditions:
Weak Password (Red):
- When Input Password Signup’s password strength ≤ 50
- Background color: Red
Medium Password (Yellow):
- When Input Password Signup’s password strength > 50 AND ≤ 75
- Background color: Yellow
Strong Password (Green):
- When Input Password Signup’s password strength > 75
- Background color: Green

For the second shape (medium indicator), copy the medium and strong password conditions. For the third shape (strong indicator), only add the strong password condition.
Update the Text Label
Apply similar conditions to your text element:
- Default text: “Weak Password”
- When strength > 50 and ≤ 75: “Medium Password”
- When strength > 75: “Strong Password”
Add Visibility Controls
Another thing we can do is to only enable this indicator when the users start typing in the password field. Here’s how to do it:
- Select the main container group
- Add condition: When Input Password Signup’s value is not empty
- Set This element is visible
- In Layout tab, enable Collapse when hidden
- Uncheck This element is visible on page load

3. Create a Detailed Password Policy Checker
The second part of this guide involves building a comprehensive policy checker that shows specific requirements with checkmarks.
Design the Policy Container
Create a new group structure for displaying individual policy requirements:
- Add a Group with 100% width and 64px minimum height
- Inside this group, create four sub-groups for each requirement
- Set each sub-group to 50% minimum width and 50% maximum width
- Change the main group layout to Row for responsive stacking
Build Individual Requirement Elements
For each sub-group, add:
- An Icon element (20×20 pixels, red color, cross shape by default)
- A Text element describing the requirement
- Set the sub-group layout to Row with center alignment
- Add margin to the left of the text for spacing

Create four requirement groups:
- “8+ characters”
- “Uppercase letters”
- “Contains a number”
- “Special character”
4. Implement RegEx for Advanced Detection
Understanding RegEx Patterns
Regular expressions (RegEx) allow you to detect specific character patterns within text. You’ll use these patterns to check for different password requirements:
Uppercase Letters: .*[A-Z].* Numbers: .*[0-9].*
Special Characters: .*[!@#$%^&*()_+\-=\[\]{};’:”\\|,.<>\/?].*
Configure Character Count Detection
For the “8+ characters” requirement, we don’t actually need to use a regular expression. We can just use a simple count condition:
- Select the cross icon in the first requirement group
- Add condition: When Input Password Signup’s value:count ≥ 8
- Change icon to check mark and color to Green
Set Up RegEx Conditions
For the next three requirements, we’ll need to start using RegEx patterns to find a specific requirement:
Uppercase Detection:
- Condition: When Input Password Signup’s value:extract with Regex
- In the provided prompt, paste the following regex pattern: .*[A-Z].*
- First item is not empty
- Change icon to check mark, color to green

Number Detection:
- Condition: When Input Password Signup’s value:extract with Regex
- In the provided prompt, paste the following regex pattern: .*[0-9].*
- First item is not empty
- Change icon to check mark, color to green
Special Character Detection:
- Condition: When Input Password Signup’s value:extract with Regex
- In the provided prompt, paste the following regex pattern:.*[#$^+=!*()@%&?].*
- First item is not empty
- Change icon to check mark, color to green

The RegEx patterns work by searching the entire password string for specific character types. When a match is found, the “first item” won’t be empty, triggering the green checkmark.
Conclusion
You now have a comprehensive password strength system that provides both visual feedback and detailed requirement checking. This implementation helps users create stronger passwords while improving your app’s overall security.
If you’re interested in another way to increase security in your app, look into our complete guide on how to create multiple user roles in Bubble!