> For the complete documentation index, see [llms.txt](https://docs.powerfulform.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.powerfulform.com/field-types/contact-info/password.md).

# Password

Collect a masked password with a strength rule, mainly for forms that create a Shopify account.

The **Password** field shows a masked box, applies a strength rule of your choosing, and can ask the visitor to type the password twice. Its usual home is a customer registration form.

> **⚠️ Important:** Shopify's **new customer accounts** use passwordless login (email/SMS verification code), there's no password to set anymore.
>
> Mapping this field to **Password (Legacy)** in Shopify Customers integration does not let the customer log in with it. Use this field to collect a password-like value for your own purpose instead (a PIN, an access code, a value to match against another system) — not to create a working login credential.

## 🔧 How to Set It

In the form editor, click **Add element** > pick **Password**.

Open the element and its settings open on the left.

<figure><img src="https://2907469752-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FehM2rz7MmKkWcJmgvJOe%2Fuploads%2Fgit-blob-29c18710c2e3bff32756851e074d6c6985e50b30%2F2026-10-01_10-35-49.png?alt=media" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2907469752-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FehM2rz7MmKkWcJmgvJOe%2Fuploads%2Fgit-blob-c3d70838f80e6c74621b9d719fb8b0642e815956%2Fscreenshot-field-types-password.png?alt=media" alt="The Password field settings panel open in the form editor"><figcaption><p>The Password field is used on registration forms that create a Shopify account.</p></figcaption></figure>

{% hint style="info" %}
See [Add and arrange elements](/build-your-form/add-and-arrange-elements.md) for the other ways to add a field and how to reorder them.
{% endhint %}

## 🔧 Settings

Only the settings specific to this field are listed here. **Label**, **Placeholder**, **Description**, **Required**, **Hide label**, **Column width**, **Conditional display** and the rest of the shared settings work the same on every field.

### 🛡️ Validate

The strength rule the password must meet before the form submits. Defaults to **None**.

| Choice                                      | Requires                              | Example That Passes         |
| ------------------------------------------- | ------------------------------------- | --------------------------- |
| **None**                                    | Nothing                               | `abc`                       |
| **Minimum 6 characters**                    | 6+ characters, any type               | `hello1`                    |
| **+ one letter and one number**             | 6+ chars, at least 1 letter + 1 digit | `pass12`                    |
| **+ one special character**                 | Also 1 symbol                         | `pass1!`                    |
| **+ uppercase, lowercase, number**          | Mixed case + digit                    | `Pass12`                    |
| **+ uppercase, lowercase, number, special** | Mixed case + digit + symbol           | `Pass1!`                    |
| **Advanced validate rule**                  | Your own regex pattern                | *(depends on your pattern)* |

<figure><img src="https://2907469752-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FehM2rz7MmKkWcJmgvJOe%2Fuploads%2Fgit-blob-cc1bd1c5a55033902fd2981c731dd57e607e06cc%2F2026-10-02_15-22-09.png?alt=media" alt=""><figcaption></figcaption></figure>

### 🔁 Confirm Password

**Also create confirm password input** adds a second masked box asking the visitor to re-type the value. Off by default.

If turned on, both boxes must match, or the visitor sees *"Confirmed password doesn't match."*

<figure><img src="https://2907469752-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FehM2rz7MmKkWcJmgvJOe%2Fuploads%2Fgit-blob-9969500cd26054c083a0e33e57e9d107f1e38c2c%2F2026-10-02_15-23-29.png?alt=media" alt=""><figcaption></figcaption></figure>

### 💾 Storing Password for Purpose

Saves the entered value with the submission, so it appears in **Submissions** and exports. Off by default.

> **🚨 Warning:** Leave this off unless you have a genuine reason and have told the customer. A stored value is readable by anyone who opens Submissions or an export.

## 🔄 How It Works

**1. Visitor types a value** — checked against your **Validate** rule.\
**2. (If confirm is on)** both boxes must match.\
**3. Form submits** — what happens depends on your use case:

| Use Case                                              | What Happens                                                          |
| ----------------------------------------------------- | --------------------------------------------------------------------- |
| **Collecting a PIN/access code for your own records** | Saved with the submission (if **Storing password for purpose** is on) |
| **Mapped to Shopify "Password (Legacy)"**             | No functional effect — the customer still logs in passwordlessly      |

## ⚠️ Limits & Notes

<table><thead><tr><th width="175.699951171875"></th><th></th></tr></thead><tbody><tr><td><strong>Rejected entry</strong></td><td>Shows <strong>Invalid password</strong>, editable under Edit error messages</td></tr><tr><td><strong>Legacy login</strong></td><td>No longer functions as a real login credential — see the warning above</td></tr><tr><td><strong>Advanced regex</strong></td><td>Always test before publishing</td></tr></tbody></table>

## Next steps

* [Create Shopify customers from a form](/customers-and-registration/create-shopify-customers.md) — the main reason to add a password field.
* [Create Shopify Customers](/customers-and-registration/create-shopify-customers.md) — activate the account with the password the visitor set.
* [Edit error messages](/build-your-form/error-messages.md) — reword the invalid and mismatch messages.
