Password Reset Email

v1.0.0

Click any text to edit it right here · click an image or link to jump to its setting

  • Replace the placeholder links: Header link, Reset link, Support link, Help centre link.

Password Reset Email — Free Responsive HTML Email Template

Transactional · v1.0.0 · Updated 2026-10-17 · Gmail, Outlook & Apple Mail · Dark mode

Tagspassword resetsecurityaccounttransactionalsaasdark mode
Updated October 16, 2026

What's included

Features

Lock badge, headline and the account email the reset is for
Outlook-safe "Reset password" button with a VML version for Windows Outlook
Expiry and one-time-use note so people act quickly
Full reset link printed as copyable text under the button
Optional request details: device, location and time
"Didn't request this?" note and a link to your security or support team
No marketing content, so it reads as a genuine security email
Editable light and dark palettes, hidden preheader and plain-text version
Works with Postmark, SendGrid, SES, Auth0, Supabase, Firebase and app mailers
Copy the HTML, download a .html or ZIP file, or fork it to My Code

About this template

Password Reset Email — Free HTML Forgot Password Template

Password Reset Email template: A clear, secure password reset email: lock badge, headline, the account it is for, an Outlook-safe reset button, link expiry, a copyable fallback link, optional request details (device, location, time) and a reassuring "didn’t request this?" note.

Password Reset Email is a free, responsive HTML "forgot password" email template for SaaS apps, online stores and any product with user accounts. It has everything a secure reset email should have: a lock badge, a clear headline, the account the request is for, an Outlook-safe Reset password button, a one-time-use expiry note, a fallback link, optional request details and a "didn't request this?" message.

Designed to be trusted

Password reset emails are a favourite target for phishing, so people are right to be suspicious of them. This template is built to look legitimate: it names the account, says exactly when the link expires, shows the device, location and time of the request, and gives a calm "you can ignore this" message plus a link to your security team. It contains no marketing, which also keeps it out of the Promotions tab.

Request details, when you have them

Turn on the request details box to show the browser, approximate location and time of the request. It helps people spot attempts they didn't make. Turn it off if your system doesn't collect that information.

Works in every client

The layout uses nested tables and inline styles, the button is a VML "bulletproof" button for Outlook on Windows, and the full reset link is printed as text under it so people can copy it if buttons are blocked. A dark palette for Apple Mail, iOS Mail and Outlook.com, a hidden preheader and a plain-text version are included.

No unsubscribe link needed

Reset emails are transactional: the user asked for them. US CAN-SPAM doesn't require an unsubscribe link, so the footer shows the reason for the email, your address and a help link instead.

Edit it in your browser, then paste the HTML into Postmark, SendGrid, Amazon SES, Resend, Auth0, Supabase, Firebase or Laravel and Rails mailers. Building the full account flow? See the Verify Email and Welcome templates.

Why use it

Why Use the Password Reset Email Template

🔒
Looks legitimate
Naming the account, the expiry and the request details helps people trust the email and spot reset attempts that weren't theirs.
⏱
Clear expiry
Saying how long the link lasts cuts support tickets from people who click an expired link days later.
⚙
Never a dead button
A VML button for Outlook plus a copyable fallback link means nobody gets stuck unable to reset.

How it’s different

How It’s Different From Other Free Email Templates

</>
Real email HTML you own
Not a locked design inside a sending platform. Copy production-ready HTML, download a .html file or fork it into My Code, and use it with any email service or your own code.
⚙
Coded for real inboxes
Tables, inline styles, Outlook conditional comments, a VML button and Outlook font fixes. Many free templates only look right in a browser.
◐
Dark mode built in
Separate, editable light and dark palettes, with a dark preview, instead of leaving dark mode to each email client.
✓
Checks before you send
Warnings for Gmail clipping, missing alt text, placeholder links, images that aren't hosted online, and a missing unsubscribe link or postal address.
Plain-text version included
A matching plain-text version is generated as you edit, ready for multipart emails and the clients and filters that read text.
◍
Free and private
No account, no watermark and no limits. Everything runs in your browser, and your edits are saved locally for next time.

Step by step

How to Use

  1. 1
    Set the inbox detailsWrite the sender name, subject line and preheader (the preview text shown next to the subject in the inbox). The character counts show when they get too long for phones.
  2. 2
    Edit the contentFill in the message & button, request details and security note, or click any text in the preview to jump to its field. Switch the request details on or off.
  3. 3
    Add your brandUpload or paste your logo, set the brand colour and the light and dark palettes, pick fonts, or apply your saved brand kit.
  4. 4
    Preview and checkSwitch between desktop, mobile and dark mode, and fix anything the pre-send checks flag, such as placeholder links or missing alt text.
  5. 5
    Export or forkCopy the HTML into Postmark, SendGrid, Amazon SES, Resend or your own code, copy the plain-text version, download a ZIP with images, or fork it into My Code.

Real-world uses

Common Use Cases

🔑
Forgot password in a web app
Send it when someone clicks "Forgot password", with a tokenised link that expires in 60 minutes and the request details your auth service logs.
🛒
Store customer accounts
Let shoppers reset the password for their order history and saved addresses, with your store brand colour on the button and a link to customer support.
🛡
Admin-forced password reset
After a security incident or a policy change, ask users to choose a new password, and change the intro to explain why the reset is required.
🏢
Internal tools and portals
Use it for employee portals, client dashboards or school systems where the IT team needs a clean, trustworthy reset email instead of a plain-text default.

Got questions?

Frequently Asked Questions

The account it applies to, one clear reset button, how long the link is valid, a copyable fallback link, a note that people can ignore it if they didn't ask for it, and a way to contact support. This template includes all of them, plus optional request details.

Use your email provider's or framework's variable in the "Reset link" field, for example https://yourapp.com/reset?token={{token}}. The fallback link under the button uses the same value automatically.

Short is safer. Many apps use 15 to 60 minutes, and the link should stop working after one use. Put the same time in the expiry note.

No. It's a transactional email the user asked for, so CAN-SPAM's unsubscribe requirement doesn't apply, and people shouldn't be able to opt out of security emails anyway.

It helps people notice reset requests they didn't make, which is often the first sign of someone trying to break into an account. Turn the section off if you don't collect that data.

It saves an editable copy of your Password Reset Email in My Code, the UI Snippets code editor: the email markup goes in the HTML panel and its CSS (mobile and dark-mode rules plus fonts) in the CSS panel, so you can keep refining the code and save your own versions.

Yes. It is free for personal and commercial email, with no sign-up and no watermark. Everything runs in your browser, and your edits are saved locally.