Free tool · Structured data
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
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.
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.
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.
| Tag | Breaks a card | Falls back to | What it does |
|---|---|---|---|
| og:title | Yes | title | The 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:description | No | description | The supporting line under the headline. Falls back to the meta description. Some platforms show it, some do not. |
| og:image | Yes | twitter:image | Without 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:url | No | canonical | The canonical address for the shared object, so engagement on several URL variants consolidates onto one. |
| og:type | No | nothing | What kind of thing is being shared. Defaults to website when absent, which is right for most pages and wrong for an article. |
| og:site_name | No | nothing | Your brand beside the card. Cheap to set and frequently missing. |
| twitter:card | No | nothing | Chooses 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:title | No | og:title then title | Only needed when you want a different headline on X. Falls back to og:title, so its absence is usually fine. |
| twitter:image | No | og:image | Only 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.
Where the usual checkers are equal or better, the table says so.
| Capability | This tool | Typical checker |
|---|---|---|
| Lists your og and twitter tags | Yes | Yes |
| Renders a card preview | Yes | Yes |
| Forces a platform cache refresh | No | Better: the official debuggers can |
| Fetches the image file itself | Yes | No |
| Reads real dimensions from the file header | Yes | Reads og:image:width |
| Flags declared width disagreeing with the file | Yes | No |
| Resolves fallback chains before judging | Yes | Flags every absence |
| Says when it could not read a dimension | Yes | Repeats your declaration |
| Warns the ratio will be cropped | Yes | Sometimes |
| og:type against JSON-LD agreement | Yes, with a free account | No |
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.
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.
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.
Step 1
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
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
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
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
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
What actually breaks a link preview, which absent tags do not matter, and why a correct tag is not yet a corrected card.
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.
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.
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.
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.
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.
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.
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.
Every tool on the shelf is free, with no card and no trial. Most need no account at all. See all free tools.
Build JSON-LD for ten schema types with a hint on every field, then check it against the markup already on your page.
Build a valid robots.txt from a preset or your own rules, then see the file read back through a real parser before you ship it.
Build the JSON-LD properties that make a page attributable rather than eligible for a rich result, with the reason each one matters.
Score a page on whether an assistant could actually answer with it, across four pillars worth a hundred points.