Forgot Password Blocks for Shadcn UI
Forgot-password is one of the few flows where users always arrive frustrated. The job of the page is simple: don’t make it worse. Recover quickly, communicate clearly, and don’t leak account information along the way.
The flow
A reset flow has four screens, and each one has its own job. Skip a step or merge two and the experience starts to feel improvised at exactly the moment users need it to feel reliable.
- Request: user enters email, receives a reset link
- Confirm: app shows a success state without revealing whether the email exists
- Reset: link opens a page where the user sets a new password
- Land: app signs the user in or sends them to login
Request page
The request page is the lowest-friction part of the flow. It also has the highest abuse risk—both have to be designed for at the same time.
- One field: email
- Submit always returns the same success message—never confirm or deny existence
- Add a "Back to sign in" link visible without scrolling
- Throttle submissions server-side and rate-limit per IP/email
Reset page
The reset page is the only screen where the user enters new credentials. Treat it like a sign-in form with all the defaults: real labels, autocomplete, password manager friendliness.
- Verify the token server-side before rendering the form
- Handle expired/invalid tokens gracefully with a clear "request a new link"
- Use
autocomplete="new-password"and a password manager-friendly layout - Confirm password match only on blur of the second field
Security
Recovery flows are where security and UX meet head-on. Every shortcut for the user is a shortcut for an attacker too—so the design has to make the safe path also the easy one.
- Tokens should be single-use, time-bound (typically 30–60 minutes)
- Sign the user out of all other sessions on successful reset
- Notify the user via email that a reset occurred (separate from the request email)
- Never log or persist the reset token in plaintext
Accessibility
Recovery flows are often the only auth path for users who lost access. They have to work for assistive tech without exception—a broken reset page is a locked-out user.
- Use real
<label>for every field andautocompleteattributes - Announce success and error states with
aria-live="polite" - Maintain visible focus throughout the flow
- Keep error messages factual and short—no jargon
Tailark Pro Forgot Password Blocks
Tailark Pro shadcn ui blocks include modern, premium password recovery layouts that follow current security and accessibility best practices.
Preview Forgot Password Blocks
Related guides
Build with Tailark Pro
Tailark Pro brings together essential marketing pages, blocks, and illustrations — designed to help you launch faster without compromising design.
Get AccessLearn More