Verify Email Address

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, Verification link, Help centre link.

Verify Email Address — Free Responsive HTML Email Template

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

Tagsemail verificationotp codesign upaccountsaastransactionaldark mode
Updated October 16, 2026

What's included

Features

Large, Outlook-safe "Verify email address" button (VML for Outlook on Windows)
Optional one-time code in a big monospace box, toggled on or off
Expiry note so people know how long the link or code works
Fallback link printed under the button for clients that block buttons
"Didn't sign up?" note that reassures people who got it by mistake
Centred, single-purpose layout that reads well on phones
Light and dark palettes, both editable, with a dark preview
Hidden preheader and a plain-text version for better delivery
Works with Postmark, SendGrid, SES, Resend, Auth0, Supabase and Firebase
Copy the HTML, download a .html or ZIP file, or fork it to My Code

About this template

Verify Email Address — Free HTML Email Verification Template

Verify Email Address template: A sign-up confirmation email with an envelope badge, a "Confirm your email" headline, an Outlook-safe verify button, an optional one-time code in a large monospace box, an expiry note and a fallback link.

Verify Email Address is a free, responsive HTML email verification template for sign-up flows, double opt-in lists and account security. It gives people two ways to confirm: a large "Verify email address" button, and an optional one-time code (like 482 913) shown in a big monospace box they can type into your app.

Why verification emails need their own design

A verification email is the gate between a sign-up and an active user. If it is slow to understand, lands in spam or the button breaks in Outlook, the user never comes back. This template keeps one job in focus: an envelope badge, a clear headline, one sentence of context, the button, and an expiry note so people know to act now.

Button or code, your choice

Turn the one-time code section on for apps where people verify on another device, or for passwordless sign-in, and off when a link is all you need. The code uses a monospace font with letter spacing, so characters like 0 and O are easy to tell apart. A fallback link is printed under the button for anyone whose email client blocks buttons.

Coded for real inboxes

Like every template here it uses nested tables, inline styles and a "bulletproof" VML button that stays clickable with rounded corners in Outlook for Windows. A dark palette for Apple Mail, iOS Mail and Outlook.com is included, along with a hidden preheader and an automatically generated plain-text version, which helps transactional email get delivered.

Transactional, so no unsubscribe link

Verification emails are transactional: they are sent because of something the user just did, so US CAN-SPAM doesn't require an unsubscribe link. The footer still shows why the email was sent and your address, which helps people trust it.

Edit the text and colours in the browser, then send it from Postmark, SendGrid, Amazon SES, Resend, Auth0, Supabase or Firebase, or fork it into My Code. Building the rest of the flow? Pair it with the Password Reset and Welcome emails.

Why use it

Why Use the Verify Email Address Template

✓
Fewer abandoned sign-ups
A clear, single-button email that loads fast gets more people through verification and into your product.
#
Link or code
Support people who sign up on a laptop but check email on their phone, with a code they can type in instead.
⚙
Reliable in Outlook
The VML button and table layout keep the call to action clickable where many HTML templates break.

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 and one-time code, or click any text in the preview to jump to its field. Switch the one-time code 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

🔐
SaaS sign-up verification
Confirm a new user's email before they can invite teammates or start a trial, using a tokenised link your backend generates and an expiry of 24 hours.
📲
One-time code for mobile apps
Send a six-digit code that people type into your iOS or Android app, and hide the button when your app has no web verification page.
📨
Newsletter double opt-in
Ask new subscribers to confirm before you add them to your list, which keeps bounce rates low and gives you proof of consent under GDPR.
✉
Email address change
When someone changes the email on their account, send this to the new address so they prove they own it before the change takes effect.

Got questions?

Frequently Asked Questions

Your backend creates a unique token or code for each sign-up. Paste the link format into the "Verification link" field with a merge tag in place of the token, for example https://yourapp.com/verify?token={{token}}, and use a merge tag such as {{code}} for the code. Your email provider fills them in for every email.

Links are the fastest for most people. Codes help when people read email on a different device from the one they signed up on, and for apps without a web page. Showing both, as this template does by default, covers everyone.

No. Verification emails are transactional, sent in direct response to something the user did, so US CAN-SPAM's unsubscribe rule doesn't apply. Keep marketing content out of it so it stays transactional.

Common choices are 24 to 72 hours for sign-up links and 10 to 15 minutes for one-time codes. Whatever you choose, say it in the email, which is what the expiry note is for.

Yes. All three let you replace the default verification email with your own HTML. Copy the HTML from this editor and swap the link for the provider's variable, such as {{ .ConfirmationURL }} in Supabase.

It saves an editable copy of your Verify Email Address 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.