Substack writers embed tweets for all sorts of reasons: citing a source, quoting a reader reaction, showing that a piece of writing resonated, or grounding an argument in something someone actually said in public. It is a natural part of writing on a platform where the conversation lives on X as much as it does in the comments section.
But there is a detail that catches most people off guard: Substack handles tweet embeds differently from every other platform. Unlike WordPress or a static website, Substack does not rely on Twitter's external JavaScript widget. It renders tweets server-side, using its own embed card format. That distinction matters because it determines what your readers actually see — both on the web and in their inboxes.
This guide covers how to embed tweets in Substack, what the result looks like in each context, and what to do when the native embed is not enough.
Method 1 — Substack's Native Tweet Embed
Substack supports URL-based tweet embedding natively. There is no plugin, no code, and no settings to change. You paste a URL and Substack handles the rest.
How to do it
- Find the tweet you want to embed on x.com
- Copy the full URL from your browser — it looks like
https://x.com/username/status/123456789 - In your Substack post editor, click on a new line
- Paste the URL
- Substack will automatically convert it into an embed card
That is the entire process. No "Embed post" dialog, no copying HTML, no extra steps.
What it looks like on the web
In the Substack web view, the embedded tweet renders as a styled card showing:
- The author's profile photo and display name
- The handle and verification status
- The full tweet text
- The post date
- A link back to the original tweet on X
The card is Substack's own visual design — not Twitter's native widget. This means it loads without any external JavaScript from X, and it respects Substack's typography and theme.
What it looks like in email
Here is the part most guides miss: Substack's tweet embeds render in email.
On most platforms, embedding a tweet means embedding a JavaScript widget — which email clients do not support. So on WordPress or a standard HTML page, a "tweet embed" in email would either show nothing, show a broken placeholder, or fall back to plain text.
Substack does not work this way. Because Substack renders the embed card server-side using its own HTML, the same card that appears on the web also appears in the email. Your readers see the tweet content, the profile photo, and the attribution — without needing JavaScript, without any fallback, and without a broken layout.
This is a meaningful advantage for Substack writers. If you are quoting a tweet as evidence for your argument or crediting a reader who said something relevant, your email readers see exactly the same thing your web readers see.
Limitations of the native embed
The native approach works well for single tweets. Where it falls short:
No carousel or wall view. Substack does not support displaying multiple tweets in a carousel format. If you paste five tweet URLs, you get five separate stacked embed cards. There is no way to create a scrollable horizontal wall or a curated grid inside a Substack post.
No curation from a replies thread. If you published a post or tweet that received 50 replies and you want to show the 8 best ones, there is no native Substack tool for that. You would have to manually find each reply, copy each URL, and paste each one separately.
Deleted tweets break the embed. If the author of an embedded tweet deletes their post, the embed card disappears. Substack has no fallback mechanism — the card simply stops rendering.
Method 2 — Screenshot
When the native embed does not work — or when someone wants more visual control — screenshots are the common fallback.
How to do it
- Open the tweet on x.com
- Take a screenshot using your system screenshot tool or a browser extension
- Crop to the tweet card only
- Upload the image to your Substack post
- Add alt text and, optionally, a link to the original tweet
The problems with screenshots
Screenshots feel like a practical solution but introduce several problems that are easy to overlook.
Not clickable by default. An image in a Substack post is not a link unless you manually link it. Most readers who see a screenshot of a tweet and want to read the thread have no obvious path to the original.
No engagement signal. Part of the reason you embed a tweet is to show that real people said real things — with their real name, real profile photo, and a verifiable link. A screenshot can be edited. It cannot be verified by readers without clicking through, and many will not bother. This undercuts the credibility you are trying to add.
Looks low-effort. Substack's native embed card is clean and styled. A screenshot with inconsistent resolution, varying crop margins, or light/dark mode inconsistencies looks like an afterthought in an otherwise polished post.
Does not update. If the original tweet is edited (X allows editing on paid plans), your screenshot shows the old version. If the tweet is deleted, your screenshot shows a tweet that no longer exists — which can look misleading depending on context.
Use a screenshot as a last resort — for example, if a tweet has been deleted and you want to preserve a record of it, or if you are commenting on the visual design of the tweet itself rather than the content.
When Substack's Native Embed Is Not the Right Tool
Substack's embed handles individual tweets inside newsletter posts. It does not handle the adjacent use case that many Substack writers eventually run into: showing social proof on a public-facing page.
If you write a Substack that people love and share on X, those reactions are your most credible marketing material. But they are scattered across your readers' timelines, not organized in one place where new potential subscribers can see them.
This is the gap LaunchWall fills. Instead of embedding individual tweets inside a Substack post, you:
- Paste the URL of a tweet or post that generated strong reactions
- LaunchWall fetches all public replies
- Select the ones you want to feature
- Get a single embed code — an iframe carousel of the curated replies
That embed code goes on your landing page, your "about" page, or anywhere you are converting visitors into subscribers — not inside the newsletter post itself.
Where this matters for Substack writers specifically
- Your Substack home page does not support arbitrary embeds. But your personal website or landing page does — and a LaunchWall carousel there lets you show reader reactions to anyone considering subscribing.
- "As seen on" social proof sections are common on newsletter landing pages. A curated wall of tweets from subscribers who shared your work is more credible than pulling a screenshot of your subscriber count.
- Course or product launches via Substack benefit from showing the replies your announcement post received — not just the post itself.
The Substack post is the place for native tweet embeds, one at a time. The landing page is the place for a curated wall.
Which Method Should You Use?
Embedding a single tweet to cite a source or quote a reaction inside a post: Use Substack's native embed. Paste the URL, it renders in both web and email, no extra steps needed.
Embedding a screenshot because the native embed failed: Native embeds very occasionally fail on older tweet URLs or private accounts. A screenshot is acceptable as a fallback, but add a link to the original tweet so readers can verify.
Showing a curated collection of reader reactions as social proof on your landing page: Use a third-party wall like LaunchWall. Substack's native tools are not built for this use case — and putting five stacked embed cards inside a newsletter post is not the same as a clean, curated carousel on a subscriber acquisition page.
Common Questions
Can I embed tweets in a Substack email newsletter?
Yes. Because Substack renders tweet embeds server-side using its own card format, the embed appears correctly in email — not as a link, not as a broken widget, but as a styled card with the tweet content and attribution. This is one of Substack's notable advantages over embedding tweets in other email tools.
Can I embed tweets in a Substack page (not a post)?
Substack pages work the same way as posts for embedding purposes. Paste the tweet URL on its own line and it converts to an embed card.
Can I embed a tweet thread in Substack?
Only individual tweet URLs are supported natively. If you want to show a thread, you would need to paste each tweet URL separately, which produces a series of stacked cards. There is no native "thread embed" in Substack.
Can I embed tweets in Substack using HTML?
No. Substack does not support raw HTML or iframe embeds inside posts or pages. This means native Twitter widget embeds (copied from X's "Embed post" dialog) do not work in Substack. The URL paste method is the correct approach.
The Substack Recommendation
For embedding individual tweets inside a Substack post or page, the native URL paste method is the right approach. It is fast, it renders correctly in email without any extra configuration, and it produces a cleaner result than a screenshot.
For building social proof from your best reader reactions — particularly for your landing page or subscriber acquisition funnel — combine Substack's native embeds with a curated wall on your external site. The newsletter is where the relationship happens; the landing page is where new subscribers decide to join.