Title: Customize Frappe Reset Password Email Template
Author: Immanuel Raj
Published: July 26, 2025
Last modified: November 21, 2025

---

![A hand holding a smartphone that displays a customized 'Frappe Password Reset'
email. The design is clean and professional with a blue call-to-action button.](
https://cdn.immanuelraj.dev/immanuelraj.dev/wordpress/images/Featured-Images/FI-
customize-frappe-reset-password-email-template.png)

# Customize Frappe Reset Password Email Template

[July 26, 2025](https://immanuelraj.dev/customize-frappe-reset-password-template/)

—

by

[Immanuel Raj](https://immanuelraj.dev/author/iamimmanuelraj/)

in [ERPNext](https://immanuelraj.dev/category/erpnext/)

Read Time

7–10 minutes

Learn how to customize the reset password email template in Frappe framework to 
create a better user experience with branded, professional-looking password reset
emails using the Email Template feature.

Frappe framework comes with a **basic default** reset password template that uses
_minimal styling_. Here’s what the default template looks like:

    ```wp-block-code
    <p>Please click on the following link to set your new password:</p>
    <p><a class="btn btn-primary" href="{{link}}">Reset your password</a></p>
    ```

As you can see, it’s quite **basic and uses minimal styling**. For more information
about Frappe’s email template system, check the [official email template documentation](https://docs.frappe.io/erpnext/user/manual/en/email-template).

## Available Template Parameters

The reset password template in Frappe has access to **only one variable**:

 * `{{link}}` – **The password reset URL** (the only available parameter)

Unlike other email templates in Frappe, the reset password template _does not have
access_ to user information like names or other variables. It only receives the **
reset link**.

## Creating a Custom Email Template

Instead of modifying core files, the **recommended approach** is to create a custom
Email Template in Frappe:

### Step 1: Navigate to Email Template

 * Go to **Awesome Bar (Top Right Search Bar) > Email Template List**
 * Click **New** to create a new Email Template

### Step 2: Configure the Template

 * Set the **Name** as “Password Reset”
 * Set the **Subject** as “Reset Your Password”
 * Add your _custom HTML content_ in the **Response** field and enable `Use HTML`
 * Save the template

### Step 3: Configure System Settings

To use your **custom template**:

 * Go to **Awesome Bar (Top Right Search Bar) > System Settings**
 * In the Email section, set the **Password Reset Template** to your custom template
 * Save the settings

## Enhanced HTML Template Example

Here’s a **professional, responsive HTML template** that’s much better than the 
default, using only the _{{link}} parameter_:

#### 📧 Live Email Preview

## Reset Your Password

Please click on the following button to reset your password:

 [Reset Your Password](https://immanuelraj.dev/customize-frappe-reset-password-template/?output_format=md#)

**Alternative:** If the button above doesn’t work, copy and paste this link into
your browser:

[https://yoursite.com/reset-password/token123](https://immanuelraj.dev/customize-frappe-reset-password-template/?output_format=md#)

 This is an automated message. Please do not reply to this email.

## Testing Your Custom Template

To test your **custom reset password template**:

 1. Go to the **login page** of your Frappe site
 2. Click _“Forgot Password?”_
 3. Enter a **valid email address**
 4. Check the received email for your _custom template_

## Key Features of the Enhanced Template

 * **Modern Typography:** Uses Reddit Sans and Poppins fonts with _various weights
   and styles_
 * **Responsive Design:** Works perfectly on _desktop and mobile devices_
 * **Professional Styling:** Clean design with proper **typography hierarchy**
 * **Single Parameter:** Uses only the **{{link}} variable** as supported by Frappe
 * **Accessibility:** Proper contrast ratios and _semantic HTML_
 * **Fallback Link:** Alternative text link if the button _doesn’t work_

## Font Usage in the Template

The enhanced template uses a **sophisticated font hierarchy**:

 * **Reddit Sans:** Main body text with weights _300-600_ for readability
 * **Reddit Sans Condensed:** Footer automated message with _condensed styling_
 * **Reddit Mono:** Monospace font for **URLs and code-like elements**
 * **Poppins:** Headings and emphasis text with weights _600-700_

## Template Limitations

It’s important to understand that the Frappe reset password template has **specific
limitations**:

 * **Single Variable:** Only `{{link}}` is available – _no user names or other data_
 * **No Personalization:** Cannot include user-specific greetings or _custom messages_

## Best Practices

 * **Keep It Simple:** Since only the link is dynamic, _focus on clear messaging_
 * **Font Loading:** Use Google Fonts preconnect for **better performance**
 * **Typography Hierarchy:** Different font families for _different content types_
 * **Brand Consistency:** Customize colors while maintaining **font consistency**
 * **Clear Call-to-Action:** Make the reset button prominent with _Poppins font_
 * **User Experience:** Provide fallback options for users who can’t click the button
 * **Test Thoroughly:** Test on different _email clients and devices_

## Troubleshooting Common Issues

If your **custom template isn’t working**:

 * **Check System Settings:** Ensure the correct template is selected in _System
   Settings_
 * **Verify Template Name:** Make sure the template name **matches exactly**
 * **Clear Cache:** Clear browser cache and _Frappe cache_
 * **Font Loading:** Ensure Google Fonts are accessible in your **environment**
 * **Link Parameter:** Verify you’re using `{{link}}` and not other variables
 * **Email Client Testing:** Test across different **email clients** (Gmail, Outlook,
   etc.)

## Conclusion

Customizing the reset password email template in Frappe using the **Email Template
feature** is straightforward even with the limitation of only having the `{{link}}`
parameter. The enhanced template example shows how to create _modern typography_
with Reddit Sans and Poppins fonts, **responsive design**, and _professional styling_
while working within Frappe’s constraints.

By using the **Email Template approach** instead of modifying core files, you ensure
your customizations _survive system updates_ and maintain the integrity of your **
Frappe installation**.

[Email Template](https://immanuelraj.dev/tags/email-template/) [Frappe](https://immanuelraj.dev/tags/frappe/)
[HTML Email](https://immanuelraj.dev/tags/html-email/) [Jinja2](https://immanuelraj.dev/tags/jinja2/)
[Password Reset](https://immanuelraj.dev/tags/password-reset/)

---

[Previous:  Why Do We Need God? Understanding Christian Faith and Purpose](https://immanuelraj.dev/why-we-need-god-and-finding-purpose-in-faith/)

[Next:  Complete Frappe Security Guide: Block Administrator Installation & Configuration](https://immanuelraj.dev/secure-frappe-admin-block-administrator-guide/)