Free SEO Tool · No Signup Required

OG Image Checker

See the card a page makes when someone shares it on LinkedIn, X, Facebook or Slack: the image, the title, the description, and which tags each platform reads them from. Check a live URL, or paste the head tags of a page that is not live yet and review the card before it ships.

Read-only. One fetch of the page from our server, the served HTML only. The image itself is never requested.

  • No signup, no email wall
  • Four card previews
  • A URL or pasted tags
  • Pasted tags stay local
  • Same result every run
  • Free, no daily cap
What we checked

4 checks on the card tags. Is there an og:image, is its URL absolute, is there an og:title, and which card type twitter:card asks X for. Every og:* and twitter:* meta tag is read, the first value of each wins, and property= and name= are both accepted. URL mode fetches the page once as VerandBot/1.0, redirects followed, 12 second timeout, no JavaScript run, and reads the first 100,000 characters. Paste mode reads what you pasted, in your browser.

How the cards are drawn

From the tag values, in your browser. X takes twitter:* first and falls back to og:*; LinkedIn and Facebook read Open Graph; Slack reads oEmbed, Twitter Card and Open Graph tags without publishing an order, so its frame uses Open Graph. Each frame uses the ratio the platform documents. Fonts, truncation and crop are the platform's and change without notice.

What it cannot see

The tool never requests the image, so it cannot confirm its real size in pixels, its file size, its format, or that it loads at all. When your browser loads it for the preview, the page shows the pixel size your browser measured, labelled as such; a platform's crawler can still be refused where your browser is not. Also out of reach: tags added by JavaScript after load, oEmbed, and each platform's cache of a card already shared.

About this tool

How the OG Image Checker builds the card.

One fetch, one pass over the meta tags, four checks, four frames. The card is the tool in motion on an example page, looped, and each step lights up while the card is doing it.

01

One request for the page

Our server asks for the URL you typed as VerandBot, follows redirects to the final address, and keeps the HTML exactly as served. No JavaScript runs, so a tag written by a script after load does not exist as far as this read is concerned.

02

Every card tag is read

Each <meta> whose property or name starts with og: or twitter: is collected with its value, entities decoded. When a tag appears twice, the first one wins, and the card shows the value that was kept.

03

Four checks on the card

Is there an image, is its address absolute, is there a title, and what card type does X get. A missing image or a relative image URL fails; a missing twitter:card is a warning, because X documents that it may still draw a small summary card.

04

The card, four ways

The values are laid into a LinkedIn, an X, a Facebook and a Slack frame, each taking its text and image from the tags that platform reads. Where a tag is missing, the frame shows the gap rather than guessing what the platform will put there.

Link cards, explained

What decides the card a shared link makes, and why it goes wrong.

A link card is assembled by a crawler you never see, from a handful of meta tags, and then cached. Here is which tags matter, what size the image should be on each platform, and why an old card can outlive a correction.

Open Graph and Twitter Card tags

When someone pastes a URL into a LinkedIn post, a Facebook update, an X post or a Slack message, the platform sends a crawler to fetch that page and reads a few <meta> tags from its head. The dominant vocabulary is the Open Graph protocol, published at ogp.me. It names four required properties for every page: og:title, og:type, og:image and og:url. og:description is optional in the protocol and present on almost every card anyway, because it is the line of text under the title.

<!-- the card, as Open Graph describes it -->
<meta property="og:title" content="Roth IRA conversions, explained">
<meta property="og:description" content="A plain guide to the five-year rule">
<meta property="og:image" content="https://example.com/og/roth.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:image:alt" content="Chart of a conversion ladder">
<meta property="og:url" content="https://example.com/roth-ira/">
<meta property="og:type" content="article">

<!-- X's own layer; each falls back to og:* when absent, except the card type -->
<meta name="twitter:card" content="summary_large_image">

X keeps its own vocabulary, the Twitter Card tags. Its developer documentation (archived January 2026; the live page no longer loads) says the card processor checks for the Twitter tag first and falls back to the matching Open Graph property: twitter:title to og:title, twitter:description to og:description, twitter:image to og:image. The card type is the exception. For a missing twitter:card the same table says that if og:type, og:title and og:description exist, "a summary card may be rendered". A summary card is the small one, with a square thumbnail beside the text. The wide image only comes with summary_large_image. So a page with complete Open Graph tags and no Twitter tags at all can look right on LinkedIn and small on X. Our open graph checker is the page for the full tag audit; this one is about what the card looks like.

OG image size, platform by platform

The number everyone quotes is 1200 by 630 pixels, a ratio of 1.91 to 1. It comes from Meta, and the platforms do not agree beyond it. These are the figures each one publishes, taken from their own documentation, not from a roundup:

PlatformRatioWhat it documents
Facebook1.91 : 1At least 1200 × 630 for high-resolution screens, 600 × 315 at the minimum for the larger layout; below that the image still shows, "much smaller". Absolute floor 200 × 200. Meta, Images in link shares.
LinkedIn1.91 : 1Minimum 1200 × 627, file size up to 5 MB. LinkedIn Help, making your website shareable.
X, large card2 : 1From 300 × 157 up to 4096 × 4096, under 5 MB, JPG, PNG, WEBP or GIF (first frame only). SVG is not supported. X developer docs, archived.
X, summary card1 : 1From 144 × 144 up to 4096 × 4096, cropped to a square on all platforms.
Slacknone publishedSlack fetches the image the tags point to "to check validity and extract other metadata", and publishes no size. Slack, Slackbot link unfurling.

One image can serve all of them if it is built for the tightest case. A 1200 × 630 image meets Facebook's recommendation and sits three pixels above LinkedIn's minimum height; X's large card documents 2 : 1, so a 1.91 : 1 image is not an exact fit there, and how X fits it is X's decision. Keep the text and any face inside the middle of the frame, so a trim at the edges leaves them alone. For the square summary card on X, a wide image loses its sides entirely, which is one more reason to set twitter:card to summary_large_image when the image is the point.

Declaring the size helps too. Meta lists og:image:width and og:image:height as a way to let its crawler render the image immediately on the first share, instead of after it has downloaded and measured it. Open Graph also defines og:image:alt, a description of what the image shows, and asks that a page with an og:image carry one.

Open graph preview: where the platforms differ

A social share preview is not one card drawn four times. X reads its own tags first, so a page can hand X a different title and image from the one LinkedIn shows, deliberately or by accident: a theme writes twitter:title from one field and an SEO plugin writes og:title from another, and they drift. This checker compares them and says so when they differ. LinkedIn says it relies on oEmbed and Open Graph to pull the title, description and image. Slack names oEmbed, Twitter Card and Open Graph tags together and fetches as little of the page as it can with HTTP range requests, which is one more reason to keep the card tags near the top of the head. None of the three platforms that publish guidance say they run a page's JavaScript to find its tags, so a tag inserted by a script after load is safest treated as absent. This tool reads the served HTML for the same reason.

X also gives a piece of advice worth taking in any regulated business: the large-card image should be "a unique image representing the content of the page", not a site logo or an author photo used everywhere. A logo as the card image tells a reader nothing about the article, and it is easy to ship by accident when a theme sets one site-wide default.

Common failures

  • No og:image at all. The card has no image you chose. What fills the space, a text-only card or a picture pulled from the page, is the platform's decision. This is the failure the checker's red row names first.
  • A relative image URL. /images/card.png means nothing to a crawler reading the tag out of context. The value has to be a full address beginning with https://.
  • No twitter:card. Everything else is right and X draws the small square card. One line fixes it.
  • An image over the limit. LinkedIn and X both stop at 5 MB. A 4000-pixel PNG exported straight from a design tool can pass that without anyone noticing. This tool cannot weigh the file; check it where you host it.
  • A crawler that cannot reach the image or the page. X's troubleshooting guide names a robots.txt that blocks its crawler, and server rules that deny its addresses, as reasons a card does not appear. A firewall or bot wall that lets browsers through can still turn a crawler away.
  • An SVG card image. X does not support SVG for cards. Export a PNG or JPG.
  • Two sets of tags. A theme and a plugin both write Open Graph tags. The platforms do not document which one they keep. This checker keeps the first and shows its value, so a stale set sitting above the current one is visible.

Why an old image or title lingers

Every platform caches the card, and each documents it differently. LinkedIn's help centre says to allow 48 hours after a metadata change, and offers its Post Inspector to fetch the URL again, with a limit worth reading twice: the refresh "will only affect the URL's preview image and information for new posts". A post already published keeps its old card. Meta's Sharing Debugger re-scrapes a URL on request, and Meta advises using a new URL for a replacement image, because an image changed at the same address may not be picked up. X's guide says its crawler re-reads a page roughly every seven days. Slack caches unfurls across its service for around 30 minutes.

For a firm where a shared post counts as a public communication, that cache is the part to plan around. If a card went out with a figure or a claim that later had to be corrected, fixing the page fixes the next share, not the posts already live. The practical order is to get the card right before the first share, which is what the paste mode on this page is for: paste the head tags of a draft, see the card as a reader will, and have whoever reviews the page review the card at the same time. Other tools let you edit tags after fetching a live page; the point here is to start from a page that does not exist yet.

What a good card needs

An og:image with an absolute URL, made for this page, 1200 × 630 or larger, under 5 MB, with the important content in the centre. An og:title and an og:description written for someone scrolling past, not copied from the meta description by default. og:image:width, og:image:height and og:image:alt. A twitter:card of summary_large_image, and Twitter tags only where you want X to show something different. Then check the card before the page goes out, and again after any template change, because card tags are exactly the kind of thing a theme update rewrites.

Why this one

Why choose Verand's OG Image Checker?

Six things that are true of this tool, each one backed by a line in the code that runs it.

No signup, no email wall

The request carries a URL and nothing else. There is no account, no session and no database behind the tool, so there is nothing for us to keep about you.

Check before the page exists

Paste the head of a draft and the card is built in your browser from what you pasted. Nothing is sent to Verand, so an unpublished page stays unpublished.

Deterministic

The tags are read by a fixed pattern and the checks are four fixed rules. No model reads the page, so the same HTML gives the same card and the same verdict every time.

The product's own crawler

The page is fetched and parsed by the same code Verand's deep crawl uses on customer sites, with paid page renders switched off. What it reads is what that crawl reads.

Names what it cannot see

The image is never requested, so its size and weight are not claimed. Where your browser measured it, the card says so and says who measured it.

$0, no daily cap

A run is one page fetch, so it costs nothing and is never metered. The one limit is a courtesy to the sites being fetched: 20 checks a minute per visitor.

Questions

Frequently Asked Questions About the OG Image Checker

Stale previews, image sizes, and checking a card before the page goes live.

Why is LinkedIn showing an old image or title?

Because LinkedIn cached the card the first time the URL was shared. Its help centre says to allow 48 hours after changing your tags, or to run the URL through LinkedIn's Post Inspector, which fetches the page again. The refresh only changes the preview for new posts; a post already published keeps the card it went out with. Run this checker first to confirm the page now serves the tags you expect, since re-inspecting a page that still carries the old tags changes nothing.

What size should an og:image be?

1200 by 630 pixels, a 1.91 to 1 ratio, covers the platforms that publish figures. Meta recommends at least 1200 by 630 and shows images under 600 by 315 much smaller. LinkedIn asks for at least 1200 by 627 and up to 5 MB. X's large card uses a 2 to 1 ratio, from 300 by 157, under 5 MB, and does not accept SVG. Keep the important part of the image in the centre so each platform's crop leaves it alone.

Why is my preview image not showing?

The usual causes, in order: there is no og:image tag in the served HTML (it may be added by JavaScript the crawler never runs), the URL is relative instead of a full https address, the file is over a platform's 5 MB limit or in a format it does not take, or the crawler is refused by robots.txt or a firewall. This checker settles the first two. It never requests the image, so for size and access check the file where it is hosted, and for Facebook run Meta's Sharing Debugger, which reports what its own crawler got.

Do I need twitter:image if I already have og:image?

No. X's documentation says twitter:image falls back to og:image, and the same holds for the title and description. What you do need is twitter:card, which has no Open Graph equivalent: without it X may draw a small summary card with a square thumbnail instead of the wide image. Add twitter:image only when you want X to show a different picture from the other platforms.

Why does Slack show a different card than LinkedIn?

They read different sources and cache on different clocks. Slack reads oEmbed, Twitter Card and Open Graph tags without publishing which wins, so a page whose twitter:title differs from its og:title can show one title in Slack and the other on LinkedIn. Slack caches an unfurl for around 30 minutes; LinkedIn asks you to allow 48 hours. When this checker reports that the X and Open Graph values differ, that difference is the likeliest reason.

Can I check a card before the page is live?

Yes. Switch to Paste tags, paste the head of the draft or just its meta tags, and the checks and the four frames are built in your browser. Nothing you paste is sent to Verand. Your browser does load the image address to draw it, so a draft image on a private staging host will show as not loaded, which the card says plainly. The platforms' own tools, LinkedIn's Post Inspector and Meta's Sharing Debugger, only work on a URL their crawlers can reach.

After the check

Get the card right. Then give it something worth sharing.

A clean card gets the click; the page has to earn the rest. Verand writes articles from your own expertise and credentials, so both Google and the AI assistants have something of yours to name. It then tracks where you rank and where ChatGPT, Gemini, Perplexity, Claude and Google's AI answers mention you, and gates every draft so a claim your regulator would not allow never publishes.

Verand

Content built to rank in Google and get cited by ChatGPTPerplexityGeminiClaude, with every claim checked before it goes live.

support@verand.ai

© 2026 Verand. All rights reserved. TermsPrivacyAI policyAccessibilitySecurity
Not legal advice. Compliance packs are researched from the regulators' own text and tested by Verand, not reviewed by a licensed attorney.