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
- In the Squarespace page editor, click the + button to add a block
- Search for or scroll to Embed
- In the embed block, paste the tweet URL — for example:
https://x.com/username/status/123456789 - Squarespace fetches the oEmbed data and renders a preview in the editor
- 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
- Go to the tweet on x.com
- Click the three-dot menu (···) on the tweet
- Select Embed post
- Copy the HTML code provided — it includes a
<blockquote>tag and a<script>tag
How to add it in Squarespace
- In the page editor, add a Code block (found under More or Embed)
- Paste the full embed HTML, including both the
<blockquote>and<script>tags - 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
- Build a curated wall on LaunchWall — paste a tweet thread or post URL, select the replies you want to show, publish
- Copy the iframe embed code
- In Squarespace, add a Code Block
- 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:
- Clearing your Squarespace editor cache and reloading the page
- Switching from the URL Embed Block to a Code Block
- 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.