Free tool · Structured data

Free Open Graph checker

To check Open Graph tags properly, fetch the og:image and read its real dimensions rather than trusting the width declared in a meta tag. Enter a page below to see every og and twitter tag with its fallback resolved, the image's actual pixel size read from the file, and what each platform will show.

Free, including reading your image file. The type agreement read needs a free sign-in.

AEO depth layer

See the AI share and type agreement read

The AI share and type agreement read is computed from your own page and costs nothing to run. We ask for a free account because the expensive tools on this shelf stay free, and because it lets us tell you when your result changes. No card, no trial clock.

  • Whether your og:type agrees with the schema types declared on the same page. A page saying website in one place and Article in another is telling two consumers different things about what it is.
  • How the tags read to a language model summarising a shared link, rather than to a card renderer, which is a different consumer with different needs.
  • The tags nobody sets and nothing warns about: og:locale and og:site_name, both cheap and both usually absent.
Sign in free to unlock

Signing in saves the details you entered above so we can follow up about your results. See our privacy policy for what we keep and why. The Open Graph Checker result you already have stays free either way. Privacy policy.

Every tag, what it does, and what it falls back to

The fallback column is the part most checkers ignore, and it is why their output is a wall of warnings. Only two tags on this list will actually break a card by being absent. The rest are inherited, and chasing them to zero is work with no payoff.

TagBreaks a cardFalls back toWhat it does
og:titleYestitleThe headline on every shared card. Falls back to the page title tag, so a missing og:title is only a problem when the title is missing too.
og:descriptionNodescriptionThe supporting line under the headline. Falls back to the meta description. Some platforms show it, some do not.
og:imageYestwitter:imageWithout an image a shared link renders as a bare text row, which collapses its click-through. This is the single highest-value tag on the list.
og:urlNocanonicalThe canonical address for the shared object, so engagement on several URL variants consolidates onto one.
og:typeNonothingWhat kind of thing is being shared. Defaults to website when absent, which is right for most pages and wrong for an article.
og:site_nameNonothingYour brand beside the card. Cheap to set and frequently missing.
twitter:cardNonothingChooses the layout. Without it a large image can render as a small thumbnail, which is the most common reason a card looks worse than expected.
twitter:titleNoog:title then titleOnly needed when you want a different headline on X. Falls back to og:title, so its absence is usually fine.
twitter:imageNoog:imageOnly needed for a different image on X. Falls back to og:image.

The image thresholds this tool applies are ours: 1200 by 630 as the safe default, a warning when the ratio drifts far from 1.91 to 1 because the platform will crop rather than letterbox, and a warning under 600 pixels wide because most platforms fall back to a thumbnail card. Platforms document their own minimums inconsistently and change them, so treat these as guidance.

How this compares to a typical checker

Where the usual checkers are equal or better, the table says so.

CapabilityThis toolTypical checker
Lists your og and twitter tagsYesYes
Renders a card previewYesYes
Forces a platform cache refreshNoBetter: the official debuggers can
Fetches the image file itselfYesNo
Reads real dimensions from the file headerYesReads og:image:width
Flags declared width disagreeing with the fileYesNo
Resolves fallback chains before judgingYesFlags every absence
Says when it could not read a dimensionYesRepeats your declaration
Warns the ratio will be croppedYesSometimes
og:type against JSON-LD agreementYes, with a free accountNo

The third row is worth being straight about: we cannot clear a platform's cache, and the official Facebook, LinkedIn and X debuggers can. After you fix a tag, use theirs to force a re-scrape. This tool finds the problem; their debugger makes the fix visible.

What is in the type agreement read

Cards are one consumer of these tags. A language model summarising a shared link is another, and it wants different things: attribution and classification rather than a well-cropped image.

  • Whether og:type agrees with the schema types in the page's own JSON-LD. A page whose og:type says website while its structured data declares an Article is telling two consumers different things about what it is, and no card preview will ever show you that.
  • How the description reads to a model rather than a renderer. A card truncates it; a model reads all of it, so specificity matters more than length.
  • og:site_name and og:locale, both cheap and both usually absent. site_name is the difference between a model attributing a claim to your brand and attributing it to a bare domain.

If the type disagreement turns out to be real, the schema markup generator builds the corrected block, and the AI citation schema generator adds the attribution properties a model actually reads. Then the AI visibility checker asks whether any of it changed who gets named.

How to check Open Graph tags on a page

Step 1

Check the image before the tags

A missing or broken og:image is the one failure that visibly costs you clicks, because the card renders as a bare text row. Everything else is refinement.

Step 2

Compare the real dimensions against the declared ones

If og:image:width says 1200 and the file is 600, platforms that trust the declaration lay the card out wrongly. Only fetching the file reveals this.

Step 3

Ignore the inherited tags

A missing twitter:title falls back to og:title, which falls back to the page title. Chasing every absent tag to zero is work with no payoff, and this tool marks which absences do not matter.

Step 4

Clear the platform cache after you fix anything

Facebook, LinkedIn and X all cache aggressively, so a card you have already shared keeps showing the old image until you re-scrape it in their own debugger. A correct tag is not a corrected card.

When you outgrow this tool

Cards decide whether a shared link gets clicked. Answer Radar decides a different question: whether an engine names you when nobody shared anything.

The tag check is free and complete on its own. Linkeddit answers a different question: whether an answer engine names you when nobody shared a link at all.

FAQ

Open Graph Checker questions

What actually breaks a link preview, which absent tags do not matter, and why a correct tag is not yet a corrected card.

What size should an og:image be?

1200 by 630 is the safe default, because it matches the roughly 1.91 to 1 ratio that card layouts are built around and is large enough that no major platform drops to a small thumbnail. What matters more than the exact numbers is the ratio: a square image at 1200 by 1200 will be cropped, and the crop is chosen by the platform rather than by you.

Why is my link preview not showing an image?

In order of how often it is the cause: no og:image is set at all; the URL is relative rather than absolute, which some platforms will not resolve; the file returns an error or requires authentication; the image is too small and the platform fell back to a text card; or the card was cached before you fixed any of the above. This tool fetches the image and tells you which of the first four applies. For the last one you need the platform's own debugger to force a re-scrape.

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

Usually not. X reads og:title, og:description and og:image when the twitter: equivalents are absent, so duplicating them is work for no gain. The one worth setting is twitter:card, because without it a large image can render as a small thumbnail. Set the others only when you deliberately want a different headline or image on X, which is rare.

Does Open Graph markup affect SEO?

Not directly. These tags are read by social platforms and chat clients, not by the ranking systems, and no amount of og markup will move a position. What it affects is the click-through on every link anyone shares, which is worth real traffic on its own terms. Treating it as an SEO task tends to mean it never gets done, because it always loses to something that sounds more direct.

Why does the tool sometimes not report dimensions?

It reads the pixel size from the image file's own header, and it supports png, jpeg, gif, webp. An SVG has no fixed pixel dimensions to read, and a format we do not decode returns nothing. In those cases the tool says the dimensions were not read rather than repeating your declared width back as though it had measured it, because not trusting that declared number is the entire reason the tool fetches the file.

What is in the layer that needs an account?

The type agreement read. It compares your og:type against the schema types declared in the page's own JSON-LD, so a page claiming to be a website in one place and an Article in another gets caught. It also reports how the tags read to a language model summarising a shared link rather than to a card renderer, which is a different consumer with different needs. It costs nothing to run and no model is involved.

How is this different from other Open Graph checkers?

It fetches the image and reads its real dimensions, which is the check that actually finds problems. Most checkers list your tags back to you, and the ones that mention image size read og:image:width, which is a number you typed and is exactly what needs verifying. It also resolves fallback chains rather than flagging every absent tag, so the output is the handful of things worth fixing instead of a wall of red.