What is a Supabase confirm email template?
Supabase sends a confirmation email when a new user signs up with signUp() or when an existing user changes their email address. This template covers both flows: initial signup confirmation and email change confirmation.
This template is designed in Figma and exports as HTML ready to paste into your Supabase Auth dashboard. All variables are pre-configured — no coding required.
The full Figma file with all 12 Supabase auth email templates (including this one) is available at the Supabase email templates hub →
Supabase variables used in this template
| Variable | Description |
|---|---|
{{ .ConfirmationURL }} |
The confirmation link — use as the href on your CTA button |
{{ .TokenHash }} |
Hashed token for constructing custom verification URLs |
{{ .Token }} |
6-digit OTP code alternative to the confirmation link |
{{ .SiteURL }} |
Your app's site URL |
{{ .Email }} |
The user's email address being confirmed |
{{ .NewEmail }} |
The new email address (used in email change confirmation only) |
How to add this template to Supabase
For signup confirmation:
- Customize the template in Figma and export HTML with Marka
- In Supabase Dashboard: go to Authentication → Email Templates
- Select Confirm signup
- Paste your HTML into the Body field and save
For email change confirmation:
- Duplicate the template in Figma, update the copy to reference the email change context
- In Supabase Dashboard: select Email change from the template list
- Paste your HTML and save
You can use the same base design for both — just update the headline and body copy to match the context.
Customization tips
Confirm button
Set the CTA button to link to {{ .ConfirmationURL }}. In Figma, paste this variable as the link value for the button layer — Marka preserves it in the exported HTML.
Email change flow
For the email change template, you may want to show both the old and new email. Use {{ .Email }} for the current address and {{ .NewEmail }} for the new one in a supporting text line like "Your email is being changed to {{ .NewEmail }}".
Expiry note Confirmation links expire according to your Supabase project settings. Adding an expiry notice reduces user confusion if they delay clicking.
Frequently asked questions
Do I need two separate templates for signup and email change? Supabase has separate template slots for each — Confirm signup and Email change — so you can use the same Figma design with different copy for each. Export twice, paste into the respective slot.
What happens if a user doesn't confirm their email?
By default, unconfirmed accounts can still sign in if emailConfirmations is disabled in your project. If enabled, the user must click the confirmation link before signing in. You can configure this in Authentication → Providers → Email.
Can I redirect users to a custom page after confirmation?
Yes. Pass a redirectTo parameter in your signUp() call. Supabase appends it to {{ .ConfirmationURL }} automatically.


















