How to Embed a Widget on Squarespace

Squarespace's built-in Code Block makes embedding Embeddy widgets straightforward. You can place any iframe or HTML-based widget directly onto a page or post — no plugins required. The one catch: iframes and JavaScript require a paid Squarespace plan.

Beginner~5 min readUpdated 2026

1. Prerequisites

Before you start, make sure you have the following:

  • An Embeddy widget: Log in to embeddy.ai/dashboard and open your widget. Under the Embed tab, copy your iframe embed code.
  • A paid Squarespace plan: Iframes and JavaScript require the Core, Plus, Advanced, Business, or Commerce plan. Free trials do not support code rendering. See the Paid Plan section below for details.
  • Editor access: You need to be logged in as the site owner or a contributor with editor permissions.

Paid Plan Required: Squarespace only renders iframe and JavaScript code on paid plans (Core, Plus, Advanced, Business, or Commerce). On a free trial or Personal plan, the code block will save but will not render in the public view. Upgrade your plan before following the steps below.

2. Step-by-Step: Adding a Code Block

Squarespace uses a block-based page editor. You will add a Code block to your page and paste the Embeddy iframe code inside it. The entire process takes about two minutes.

  1. 1

    Copy your Embeddy embed code

    In your Embeddy dashboard, open the widget you want to embed. Click the Embed tab and copy the full iframe code. It will look like:

    <iframe
      src="https://embeddy.ai/webhost/WIDGET_ID?widget_props_id=PROPS_ID"
      width="100%"
      height="500"
      frameborder="0"
    ></iframe>
  2. 2

    Open the page editor in Squarespace

    In your Squarespace dashboard, go to Pages and click the page where you want to add the widget. Click the Edit button to enter the page editor.

  3. 3

    Click the insertion point (+) to add a block

    Hover over the area of the page where you want the widget to appear. A blue (+) insertion point will appear between existing content blocks. Click it to open the block picker.

  4. 4

    Select the Code block

    In the block picker, scroll down to the More section or search for "Code". Click the Code block to insert it onto your page.

  5. 5

    Open the code editor and paste your embed code

    The Code block will appear on your page. Click the pencil icon (edit) on the block to open its settings. In the code editor that appears:

    • Set the Type dropdown to HTML.
    • Paste your Embeddy iframe code into the text area.
  6. 6

    Turn off "Display Source"

    In the code block settings, find the Display Source toggle and make sure it is OFF. When Display Source is ON, Squarespace shows the raw code as text rather than rendering it as HTML.

    Common mistake: If you see your raw iframe code displayed as text on the live page, it almost always means Display Source is turned on. Go back to the block settings and toggle it off.

  7. 7

    Apply and save

    Click Apply to close the code editor, then click Save in the top-right corner of the page editor to publish your changes.

  8. 8

    Preview in Safe Mode

    The editor preview may look different from your public site when you are logged in. To see the true public view, use Preview in Safe Mode (available from the Pages panel). Safe Mode shows the page exactly as visitors will see it.

4. Ajax Loading Issue

Squarespace uses Ajax-based page transitions by default. When a visitor navigates from one page to another, Squarespace loads the new page content without a full browser reload. This can prevent JavaScript and some iframe-based content from initializing correctly when a user arrives via site navigation.

If your Embeddy widget loads correctly when you visit the page directly (hard refresh) but appears blank or fails to load when navigating from another page on the same site, Ajax is likely the cause.

Fix Option 1: Disable Ajax

  1. In your Squarespace dashboard, go to Design > Site Styles.
  2. Look for Enable Ajax Loading and toggle it off.
  3. Save your changes. Pages will now load with a full browser refresh, which ensures all iframe content initializes correctly.

Trade-off: Disabling Ajax removes Squarespace's smooth page transition animations. This is usually acceptable, but be aware that page loads will feel more traditional. If site animations are important to you, use Fix Option 2 instead.

Fix Option 2: Move the page out of an Index

Pages placed inside a Squarespace Index structure (a group of pages displayed as a single scrolling page) may not render Code Block content correctly. If your widget page is inside an Index, try moving it out to a standalone page to see if that resolves the issue.

Tip: After disabling Ajax or moving your page, clear your browser cache before testing. Cached versions of the page may still exhibit the old behavior.

5. Troubleshooting

Widget shows raw code text instead of the widget

The Display Source toggle in the Code Block settings is turned on.

Fix: Click the pencil icon on your Code Block, find the Display Source toggle, and turn it off.

Widget does not render at all (blank space)

Most likely caused by being on a free or Personal plan, which does not support iframes.

Fix: Upgrade to a Core, Plus, Advanced, Business, or Commerce plan. Also check that the Type in your Code Block is set to HTML, not CSS or JavaScript.

Widget loads on direct visit but not after site navigation

Squarespace's Ajax page loading is intercepting the navigation and the iframe is not re-initializing.

Fix: Disable Ajax loading under Design > Site Styles, or move the page out of an Index structure. See the Ajax Loading section above.

Preview looks correct but the live site does not

When you are logged in, Squarespace's editor preview may render content differently from the public-facing view.

Fix: Use Preview in Safe Mode to see the page as visitors see it. You can also open the page in an incognito/private browser window to verify. Squarespace does not provide support for third-party code, so if the embed works in Safe Mode, the integration is complete.

Widget inside an Index page is not rendering

Pages inside a Squarespace Index structure may not render Code Block content correctly.

Fix: Move the page out of the Index and make it a standalone page.

6. FAQ

Can I embed an Embeddy widget on Squarespace without a paid plan?

Not with an iframe. Squarespace requires a paid plan (Core, Plus, Advanced, Business, or Commerce) to execute iframes and JavaScript. Plain HTML and CSS will save on free plans, but they will not render interactively. If you need to test your widget before upgrading, use the Embeddy direct embed URL and share it as a link instead.

Will my Embeddy widget update automatically if I change it?

Yes. The iframe embed code points to a live URL hosted by Embeddy. Any time you update your widget in the Embeddy dashboard — changing content, layout, or settings — all embedded instances on your Squarespace site update automatically. You do not need to edit the Code Block again.

Why does Squarespace say it does not support third-party code?

Squarespace's official policy is that it does not troubleshoot or debug custom or third-party code. This means if something goes wrong, you will need to diagnose the issue yourself or consult the Embeddy documentation. In practice, a standard Embeddy iframe embed code is simple enough that issues are rare and usually traced to the Display Source toggle or the Ajax loading setting covered above.

Ready to embed your widget?

Create your first Embeddy widget in minutes — no coding required. Get your embed code from the dashboard and paste it into any Squarespace Code Block.

Go to Dashboard