If your HTML Embed element in Webflow is displaying the actual tags (like {{cmsField}}
) instead of rendering content from the CMS, the issue is usually related to how the embed is implemented or how dynamic bindings are used.
1. Use the Embed Inside a Collection List
- Only Collection Lists or Collection Pages can bind CMS data directly inside an HTML Embed element.
- If you try to use CMS fields in an embed outside of a CMS context, the placeholders won’t be replaced—they’ll just display as raw text.
2. Correctly Insert CMS Fields
- When inside a Collection List or Collection Template Page, click into the Embed element, then use the +Add Field button above the editor.
- Choose the dynamic field you'd like to inject (e.g.,
Name
, Image
, etc.). - Webflow will insert a binding like
{{wf {“path”:“name”,“type”:“PlainText”} }}
instead of a simplified {{name}}
. - Do not manually type these CMS bindings—always insert them via the UI so Webflow encodes them properly.
3. Avoid Using Mustache-Like Manual Syntax
- Manually typing
{{name}}
will not work in Webflow embeds. Webflow does not recognize standard JavaScript templating or Liquid syntax. - Always rely on the Insert Field feature in the Embed to avoid unparsed placeholders.
4. Confirm the Page Context
- If you're on a static page, CMS bindings will not resolve inside the Embed component.
- For dynamic CMS content to work properly, place the embed inside:
- A Collection Page
- A Collection List on any page
5. Double-Check Embed Output
- If the output appears with tags like
{{...}}
or JSON-like structures, those are unprocessed CMS bindings—meaning you're either outside a CMS context or used incorrect/manual bindings.
Summary
To fix your HTML Embed showing raw tags instead of CMS content, make sure you're using the embed inside a Collection List or Collection Page, and always insert CMS fields using the +Add Field UI, not by manually typing {{ }}
bindings.