A free tool · No signup · Runs in your browser
Move your Mailchimp templates to Klaviyo without retyping a single merge tag.
Paste an exported template. Merge tags, *|IF:|* blocks and mc:edit areas come back in Klaviyo's own syntax, with a report that names every line still needing a human.
*|IF:FNAME|*Hi *|FNAME|*,*|ELSE:|*Hi,*|END:IF|*
<a href="*|UNSUB|*">Unsubscribe</a>
*|LIST:ADDRESS|*
{% if first_name %}Hi {{ first_name|default:'' }},{% else %}Hi,{% endif %}
<a href="{% unsubscribe_link %}">Unsubscribe</a>
{{ organization.full_address }}
The converter
Paste HTML, upload an .html or .zip export, or try one of three sample templates.
Your template never leaves this page. There are no analytics, no cookies and no server; the preview loads only the images your template points to.
What maps to what
Every Klaviyo tag below was checked against Klaviyo's documentation on 18 October 2026. “Partial” means the result works but behaves a little differently, and the report explains how.
| Mailchimp | Klaviyo | Coverage | Source |
|---|---|---|---|
*|FNAME|* | {{ first_name|default:'' }} | Full | Klaviyo: Message personalization reference Klaviyo developers: Django filter glossary Mailchimp: All the Merge Tags Cheat Sheet |
*|LNAME|* | {{ last_name|default:'' }} | Full | Klaviyo: Message personalization reference Klaviyo developers: Django filter glossary Mailchimp: All the Merge Tags Cheat Sheet |
*|EMAIL|* | {{ email }} | Full | Klaviyo: Message personalization reference Mailchimp: All the Merge Tags Cheat Sheet |
*|PHONE|* | {{ person.phone_number|default:'' }} | Full | Klaviyo: Message personalization reference Mailchimp: All the Merge Tags Cheat Sheet |
*|ADDRESS|* | {{ person|lookup:'$address1'|default:'' }}Address line 1 only; Klaviyo stores the address in separate properties. | Partial | Klaviyo: Message personalization reference Mailchimp: All the Merge Tags Cheat Sheet |
*|UPPER:FIELD|* / *|LOWER:FIELD|* / *|TITLE:FIELD|* | {{ field|upper }} / |lower / |title | Full | Klaviyo developers: Django filter glossary Mailchimp: All the Merge Tags Cheat Sheet |
*|URL:FIELD|* | {{ field|urlencode }} | Full | Klaviyo developers: Django filter glossary Mailchimp: All the Merge Tags Cheat Sheet |
*|HTML:FIELD|* | {{ field }}Inserted as a plain variable. Klaviyo may escape HTML stored in a property; check the preview. | Partial | Klaviyo: Message personalization reference Mailchimp: All the Merge Tags Cheat Sheet |
*|UNSUB|* | {% unsubscribe_link %} in links, {% unsubscribe %} in text | Full | Klaviyo: Message personalization reference Klaviyo: How to add an unsubscribe link Mailchimp: All the Merge Tags Cheat Sheet |
*|UPDATE_PROFILE|* | {% manage_preferences_link %} in links, {% manage_preferences %} in text | Full | Klaviyo: Message personalization reference Mailchimp: All the Merge Tags Cheat Sheet |
*|ARCHIVE|* | {% web_view_link %} in links, {% web_view %} in text | Full | Klaviyo: Message personalization reference Mailchimp: All the Merge Tags Cheat Sheet |
*|LIST:ADDRESS|* / *|LIST:ADDRESSLINE|* | {{ organization.full_address }} | Full | Klaviyo: Message personalization reference Mailchimp: All the Merge Tags Cheat Sheet |
*|HTML:LIST_ADDRESS_HTML|* | {{ organization.full_address }}The address carries over; Mailchimp's "Add us to your address book" vCard link has no Klaviyo equivalent and is dropped. | Partial | Klaviyo: Message personalization reference Mailchimp: All the Merge Tags Cheat Sheet |
*|LIST:COMPANY|* | {{ organization.name }} | Full | Klaviyo: Message personalization reference Mailchimp: All the Merge Tags Cheat Sheet |
*|LIST:URL|* | {{ organization.url }} | Full | Klaviyo: Message personalization reference Mailchimp: All the Merge Tags Cheat Sheet |
*|USER:ADDRESS|* | {{ organization.full_address }}Mailchimp account address mapped to Klaviyo's organization address. | Partial | Klaviyo: Message personalization reference Mailchimp: All the Merge Tags Cheat Sheet |
*|CURRENT_YEAR|* | {% current_year %} | Full | Klaviyo developers: Message design overview Mailchimp: All the Merge Tags Cheat Sheet |
*|DATE:format|* | {% current_year %} for DATE:Y, otherwise {% today "…" as mc_date %}{{ mc_date }}PHP date characters are translated to strftime. 'j' and 'n' (no leading zero) become zero-padded. | Full | Klaviyo: Message personalization reference Klaviyo developers: Message design overview Mailchimp: All the Merge Tags Cheat Sheet |
*|MC:DATE|* | {% today "%m/%d/%Y" as mc_date %}{{ mc_date }}Mailchimp follows your account's date order; this uses month/day/year. Edit the format string if you need day first. | Partial | Klaviyo: Message personalization reference Mailchimp: All the Merge Tags Cheat Sheet |
*|MC_PREVIEW_TEXT|* | {% render_variable preview_text %}Set the preview text on the email setup screen in Klaviyo. | Full | Klaviyo: Message personalization reference Mailchimp: All the Merge Tags Cheat Sheet |
*|MC:SUBJECT|* | — (cleared inside <title>)Klaviyo's docs list no subject-line variable. Inside <title> it is cleared; anywhere else, type the subject by hand. | Not converted | Klaviyo: Message personalization reference Mailchimp: All the Merge Tags Cheat Sheet |
*|REWARDS|* / *|REWARDS_TEXT|* | — (removed)Mailchimp referral badge; it has no meaning outside Mailchimp. | Removed | Mailchimp: All the Merge Tags Cheat Sheet |
*|LIST:DESCRIPTION|* | —Permission reminder. Klaviyo has no equivalent tag; write the sentence as plain text. | Not converted | Mailchimp: All the Merge Tags Cheat Sheet Klaviyo: Message personalization reference |
*|FORWARD|* | —Forward-to-a-friend form. Klaviyo's personalization reference lists no equivalent; remove the link. | Not converted | Mailchimp: All the Merge Tags Cheat Sheet Klaviyo: Message personalization reference |
*|LIST:NAME|* | —Audience name. Klaviyo lists have no tag for their name; use plain text or {{ organization.name }}. | Not converted | Mailchimp: All the Merge Tags Cheat Sheet Klaviyo: Message personalization reference |
*|LIST:PHONE|* / *|LIST:EMAIL|* | —Klaviyo has organization tags for name, URL and address only; type the phone or email as text. | Not converted | Mailchimp: All the Merge Tags Cheat Sheet Klaviyo: Message personalization reference |
*|ABOUT_LIST|* | —Mailchimp-hosted page. | Not converted | Mailchimp: All the Merge Tags Cheat Sheet |
*|LIST:SUBSCRIBE|* | —Mailchimp-hosted signup form; link to your Klaviyo signup form URL instead. | Not converted | Mailchimp: All the Merge Tags Cheat Sheet |
*|BRAND:LOGO|* | —Replace with the full URL of your logo image. | Not converted | Mailchimp: All the Merge Tags Cheat Sheet |
*|IF:FIELD|* … *|ELSEIF:FIELD > 5|* … *|ELSE:|* … *|END:IF|* | {% if … %} … {% elif … > 5 %} … {% else %} … {% endif %}Operators = != > < >= <= carry over; = becomes ==. Klaviyo comparisons are case-sensitive. | Full | Klaviyo: Conditional logic reference for templates Klaviyo: Message personalization reference Mailchimp: Use Conditional Merge Tag Blocks |
*|IFNOT:FIELD|* | {% if not … %} | Full | Klaviyo: Conditional logic reference for templates Mailchimp: Use Conditional Merge Tag Blocks |
*|IF:ARCHIVE_PAGE|* / *|IFNOT:ARCHIVE_PAGE|* | — (web-only part removed; inbox part kept)Klaviyo has no 'viewed in browser' condition. | Partial | Mailchimp: Use Conditional Merge Tag Blocks Klaviyo: Conditional logic reference for templates |
*|IF:MC_PREVIEW_TEXT|* | — (wrapper removed) | Full | Klaviyo: Message personalization reference |
*|MMERGE3|* and other custom fields | {{ person|lookup:'MMERGE3'|default:'' }}Needs a Klaviyo property with the same name; rename it in the report. | Partial | Klaviyo: Message personalization reference |
*|INTERESTED:Group:Name|* … *|END:INTERESTED|* | —Rebuild with show/hide conditions or segments. | Not converted | Klaviyo: Conditional logic reference for templates Mailchimp: Use Conditional Merge Tag Blocks |
mc:edit on a table cell, or on the only element in a cell | <td data-klaviyo-region="true" data-klaviyo-region-width-pixels="…"><div class="klaviyo-block klaviyo-text-block">Images become klaviyo-image-block. Shared or nested cells are left fixed and reported. | Full | Klaviyo: How to create a hybrid email template Mailchimp: Template language |
mc:repeatable, mc:hideable, mc:variant, mc:label | — (attributes removed)In Klaviyo, blocks are added or hidden in the drag-and-drop editor. | Removed | Mailchimp: Template language Klaviyo: How to create a hybrid email template |
Resolved links in a sent email (list-manage.com/unsubscribe, /profile, campaign-archive.com) | {% unsubscribe_link %} / {% manage_preferences_link %} / {% web_view_link %} | Full | Klaviyo: Message personalization reference |
Limits, plainly
Has this been tested inside a Klaviyo account?
No. The output follows Klaviyo's published documentation (linked in the table above), and the converter has unit tests on realistic templates, but we haven't imported the results into a live Klaviyo account. Treat the first send like any template change: import, preview with a few real profiles, send yourself a test.
Can it convert emails made in Mailchimp's new drag-and-drop builder?
Only partly. Mailchimp lets you export custom-coded templates, not drag-and-drop ones (Mailchimp's export article). You can copy the HTML of a sent email's web version instead: the converter swaps its unsubscribe, preferences and web-view links for Klaviyo tags and removes the tracking pixel. Anything personal, like the first name, was already filled in for one recipient and has to be put back by hand. The report flags this.
What doesn't convert?
Interest-group blocks (*|INTERESTED:|*), polls, surveys, product recommendations, discount-code tags, social and RSS tags, and forward-to-a-friend links have no Klaviyo equivalent. They stay in the HTML, marked “Needs you” in the report with the line number, so nothing disappears silently. Klaviyo's own show/hide conditions and segments are the usual replacement for group content.
How are custom audience fields handled?
*|MMERGE5|* becomes {{ person|lookup:'MMERGE5'|default:'' }}. That only works if your Klaviyo profiles have a property with exactly that name, and Klaviyo's property names are case-sensitive. The report lists every custom field with a box for your real Klaviyo property name.
Why weren't some editable areas converted?
Klaviyo's editable regions are table cells marked data-klaviyo-region, and they can't be nested. When an mc:edit area shares its cell with other content, or sits inside another editable area, it stays as fixed HTML and the report says which one and why. Region widths are read from your table widths minus padding; check them if your layout is unusual.
Will my layout or Outlook code change?
No. The converter edits only merge tags, Mailchimp's mc: attributes, the region markers and (if you leave the option on) the tracking pixel and scripts. Everything else, including Outlook conditional comments and media queries, is kept byte for byte. Klaviyo's drag-and-drop editor may still rewrite a region's inner HTML when someone edits it there.
Will my images keep working?
Images on Mailchimp's servers (mcusercontent.com and similar) may stop loading after you close your Mailchimp account. The report lists them; upload them to Klaviyo and swap the URLs.
Is this affiliated with Mailchimp or Klaviyo?
No. Mailchimp is a trademark of Intuit; Klaviyo is a trademark of Klaviyo, Inc. This is an independent, free tool.