Back to blog
Tutorial

How to Embed a Tweet in Squarespace (3 Methods)

Tamim
April 5, 2026
7 min read

Squarespace is one of the more tweet-embed-friendly platforms. Unlike email clients or presentation tools, Squarespace supports HTML and JavaScript — which means the native Twitter embed widget can technically work. In practice, there are three distinct methods, and which one is right for you depends on what you are trying to accomplish.


Method 1 — Squarespace URL Embed Block

Squarespace has a built-in URL embed block that fetches oEmbed data from supported platforms. Twitter and X are on the supported list.

How to do it

  1. In the Squarespace page editor, click the + button to add a block
  2. Search for or scroll to Embed
  3. In the embed block, paste the tweet URL — for example: https://x.com/username/status/123456789
  4. Squarespace fetches the oEmbed data and renders a preview in the editor
  5. Save and publish

What it looks like

The embed block renders a styled tweet card using Squarespace's oEmbed integration. In the published page, it displays as Twitter's standard embed — profile photo, display name, handle, tweet text, date, and interaction counts.

When it works

This method works reliably when:

  • You are using Squarespace 7.1 (the current version)
  • The tweet is from a public account
  • X's oEmbed endpoint is functioning (it has been intermittently unreliable since the platform transition)
  • Your Squarespace plan supports third-party embeds (Business plan and above)

When it breaks

After X's API changes, oEmbed requests from Squarespace occasionally fail — returning a blank block or an error in the editor. If the embed block shows "Error loading preview" or publishes as blank, use Method 2 instead.


Method 2 — Code Block with Twitter Embed HTML

For more reliable rendering, use Squarespace's Code Block with Twitter's embed HTML directly.

How to get the embed code

  1. Go to the tweet on x.com
  2. Click the three-dot menu (···) on the tweet
  3. Select Embed post
  4. Copy the HTML code provided — it includes a <blockquote> tag and a <script> tag

How to add it in Squarespace

  1. In the page editor, add a Code block (found under More or Embed)
  2. Paste the full embed HTML, including both the <blockquote> and <script> tags
  3. Save and publish

Why this is more reliable than the URL embed

The URL embed method relies on Squarespace's oEmbed proxy to successfully fetch data from X. The Code Block method loads the tweet directly from X's own widget script — bypassing Squarespace's proxy layer. When X's oEmbed endpoint is having issues, the direct embed code often still works.

The tradeoff

The Code Block is less convenient than the URL embed. You have to manually get the embed code from X for each tweet, which takes more steps. And like all native Twitter widgets, it loads platform.twitter.com/widgets.js — an external script that adds a small amount of page load overhead.

For Squarespace blog posts

In blog posts, both the URL embed and Code Block work. Code Blocks are slightly more reliable for the reasons above. For a blog post that includes a single tweet as a citation or quote, either method is fine.


Method 3 — Third-Party Iframe for Multi-Tweet Walls

The first two methods handle individual tweets. For embedding a curated collection of tweets — a testimonials section, a social proof wall, a launch reactions carousel — you need a different approach.

Why individual embeds do not work for collections

If you want to show 8 curated tweets as a testimonials section on your Squarespace landing page:

  • You would need 8 separate Code Blocks, each with its own embed code
  • Each block loads X's widget script independently, adding load time
  • The layout is a vertical stack with no carousel, grid, or horizontal scroll option
  • If any tweet is deleted, that block breaks with no fallback

This is technically possible but produces a poor result — slow, unresponsive, and hard to maintain.

How the iframe approach works

  1. Build a curated wall on LaunchWall — paste a tweet thread or post URL, select the replies you want to show, publish
  2. Copy the iframe embed code
  3. In Squarespace, add a Code Block
  4. Paste the iframe code

The result is a single, lightweight embed that renders a styled carousel or wall of curated tweets. One Code Block, one iframe, one external resource — instead of 8 separate script loads.

Squarespace-specific notes

Business plan required. Squarespace restricts JavaScript in Code Blocks to Business plan and above. Personal plan users cannot use Code Blocks with scripts. If you are on a Personal plan, iframes are also restricted — upgrade is required for both Method 2 and Method 3.

Width behavior. Set the iframe width to 100% to ensure it is responsive across breakpoints. A fixed-width iframe may overflow its container on mobile.

Placement options. The Code Block can go anywhere a standard block goes — inside a section on your homepage, within a blog post, on a dedicated social proof page, or in a testimonials section on your pricing page.


Which Method Should You Use?

Embedding a single tweet in a blog post: Try the URL Embed Block first. If it shows an error, use a Code Block with the embed HTML from X.

Embedding a single tweet on a landing page or homepage section: Code Block with embed HTML. More reliable than the URL embed for high-visibility pages where you cannot afford a blank embed.

Embedding multiple tweets as a testimonials or social proof section: Third-party iframe (Method 3). Individual embeds are too slow and too fragile for multi-tweet sections.

Squarespace Personal plan: Neither Code Blocks nor iframes with scripts are available. Use screenshot images with linked URLs as a fallback — less dynamic but works on all plans.


Common Issues and Fixes

The tweet embed shows as a blank white box

This is usually X's oEmbed or widget script failing to load. Try:

  1. Clearing your Squarespace editor cache and reloading the page
  2. Switching from the URL Embed Block to a Code Block
  3. Checking if the tweet still exists on x.com

The tweet embed looks broken on mobile

X's native embed widget sometimes overflows its container on narrow screens. Fix: wrap the Code Block embed in a container div with max-width: 100%; overflow: hidden;.

"Code Blocks are not available on your plan"

Code Blocks with JavaScript require the Business plan or higher. Upgrade, or use the URL Embed Block (which does not require a Business plan). If the URL Embed Block also fails, screenshot images are the fallback.

Tweet embeds work in preview but not in published view

This is a caching issue. Squarespace sometimes caches the page before the Twitter widget script finishes loading. A Code Block with a third-party iframe (Method 3) is unaffected by this because the content loads inside the iframe independently of Squarespace's page rendering.


Embedding Tweet Testimonials on a Squarespace Site

For Squarespace users running a product, service, or creator business, tweet testimonials are one of the most credible social proof formats available. Squarespace's visual builder makes it easy to place a testimonials section prominently — but the placement is only as good as the content.

The Code Block with an iframe embed puts a polished, curated tweet carousel anywhere on your Squarespace site: hero section, pricing page, dedicated testimonials page, or anywhere else that drives conversion. It requires no ongoing maintenance — update the wall in LaunchWall, and the embed on your site updates automatically.

Build your Squarespace-ready tweet wall →