You paste a link into a tweet expecting a rich card with an image and title, and instead you get a bare URL. The preview is missing, and the cause is almost always one of three things: broken metadata, a stale cache, or an image that fails X's requirements. The trick is knowing which one you are dealing with before you waste a post finding out.
Why is my Twitter link preview not showing up?
Because X cannot build the card from the page's metadata, the data is cached from an older version, or the image does not meet X's requirements. Circleboom's Twitter link preview not showing up checker fetches the URL and renders the exact card it will produce on X, so you can see and fix the problem before you publish.
→ preview your link card before posting
Most advice on this assumes you control the website's source code, so it tells you to edit meta tags and move on. That misses the people who share links they cannot edit, and it skips the diagnosis step entirely. A missing preview is a symptom, and treating it without naming the cause just produces another broken post.
What actually builds a link preview on X
When you share a URL, X tries to construct a card by reading metadata from the target page. It looks for Twitter Card tags first, and falls back to Open Graph tags when those are absent. The card image, title, and description all come from that metadata.
If the metadata is missing, malformed, or points to an unreachable image, X has nothing to build from, so it shows the plain link. The card is not broken on X's side. The page simply did not give X what it needed. This is documented in X's own developer reference for Cards markup, which lists the exact tags a valid card requires.
That is why a preview can vanish for a page that worked yesterday. A redeploy that dropped a meta tag, an image that moved, or an SSL issue on the image URL can all silently break the card while the page itself loads fine.
The three causes, and how to tell them apart
A missing preview is not one problem, it is three, and each has a different fix. Diagnosing first saves you from editing tags that were never the issue.
The three causes are:
- Metadata problem, where the page lacks valid card or Open Graph tags, so the fix is editing the source.
- Cache problem, where X is showing an old cached version, so the fix is forcing a fresh read.
- Image-spec problem, where the image is too large, the wrong format, or served over HTTP, so the fix is the image.
You cannot tell which one you have by looking at the broken tweet. You need to see what X actually reads from the page, which is exactly what a validator does. Circleboom's Twitter Card Validator fetches the URL's metadata and renders the card it will produce, turning an invisible problem into a visible one.

How to diagnose a Twitter link preview that is not showing up
The flow is short and needs no login. You check the preview before publishing, read what it shows, and act on the specific cause.
- Open the Twitter Card Validator and paste the URL you want to share.
- Click Check Preview and let Circleboom fetch the page metadata and render a tweet-style card.
- Read the result. If the card shows the right image and title, the link is fine to post. If it is blank or wrong, you have found your cause.
- Match the fix to the symptom. No image and no title points to missing metadata, an old image points to cache, and a present-but-not-rendering image points to an image-spec issue.
That order matters because it replaces guessing with seeing. You are no longer posting a link and hoping, you are reading the exact card X will build and fixing the specific thing that is wrong. The validator also shows a character counter, so you can compose the full tweet, text plus card, before it goes live.
When you do not control the website
Here is the case most guides ignore: you are sharing someone else's link, or a page on a platform whose source you cannot edit. You cannot add meta tags to a site you do not own, so the standard advice is useless to you.
In that situation, the validator still earns its place. It tells you whether the problem is fixable on your end at all. If the card renders correctly in the validator but not in your draft tweet, the issue is cache, and a fresh read or a short wait usually resolves it. If the card is blank in the validator too, the page itself lacks the metadata, and no amount of effort on your side will force a preview, so you adjust your tweet to carry the context instead. For the deeper background on the format, the primer on how to use Twitter Cards for marketing explains what a healthy card needs.
It helps to know the metadata standard too. X falls back to Open Graph tags, defined by the Open Graph protocol, so a page with good Open Graph data will usually preview even without Twitter-specific tags. Checking against the Cards getting-started guide confirms what X expects.
Why a validator beats trial and error
The old way to fix a broken preview was to edit a tag, post a test tweet, see if it worked, delete it, and repeat. That is slow, it clutters your timeline, and a cached result can make a working fix look broken. A validator collapses that loop into one check.
Seeing the card before you publish means the first public tweet is the correct one. No test posts, no deleted attempts, no link going out to your audience with a broken preview attached. This is the same workflow described in the walkthrough of the Twitter Card Validator, applied before every important share. Circleboom runs this as an official X Enterprise Developer company, so the fetch and render happen through sanctioned access rather than scraping, and the preview reflects what X will actually build.
If your goal is driving clicks, a clean card is only half the job. Pairing it with real measurement matters, which is where Twitter post analytics and a quick Twitter X metrics calculator check come in.
Common Questions About Missing Link Previews
Why did my link preview work before and stop working?
Something on the page changed: a redeploy dropped a meta tag, the card image moved or lost its HTTPS, or X is serving a cached version from before a change. Running the URL through a validator shows which of these it is, rather than leaving you to guess.
How long does it take for a Twitter card to update?
X caches card data for a period, so a fix may not show immediately on an already-shared link. A validator that performs a fresh read confirms the current state, and once the cache refreshes, new tweets will show the corrected card. See how to set up your Twitter Cards for the underlying setup.
What if I cannot edit the website's code?
Then check whether the card renders in the validator. If it does, the problem is cache and time fixes it. If it does not, the page lacks the metadata and you cannot force a preview, so write your tweet to carry the context the missing card would have.
Does the image have specific requirements?
Yes. The card image must be reachable over HTTPS, within X's size limits, and in a supported format. An image that fails any of these will break the card even when the tags are correct, which is why the image-spec cause is worth checking separately.
Can I check the preview without posting a test tweet?
Yes, that is the entire point of a validator. You paste the URL, see the rendered card, and fix any issue before a single public tweet goes out, which keeps your timeline clean and your first post correct.
The Bottom Line
A missing link preview is a three-way fork: metadata, cache, or image. The mistake is editing tags blindly before you know which fork you are on. Check the card first, read what X actually reads, and fix the one thing that is wrong, so your link goes out right the first time.
If you want to confirm the card before every important share, the validator is the fastest path. Tracking what those links do afterward, with tools like tracking link clicks on X, turns a fixed preview into measurable reach.
