Open Graph Checker
Paste the <meta> tags from your <head>. You get the share
card they actually produce — including the blank one, which is the whole point.
🔒 Your data never leaves your browser.
The mistake is name=, and you cannot see it
Open Graph is built on RDFa, so its tags use property=. Nearly every other meta
tag — description, viewport, robots — uses name=, so writing
name="og:title" is the natural thing to do.
The page renders identically. Validators that only look for the string "og:title" find it. And the share preview comes out empty, because scrapers ignore the tag entirely. This is the single most common Open Graph failure and it survives every kind of review that involves looking at the page.
So this page counts a name= tag as absent, exactly as a scraper
does — the required-properties list will show it missing, which is what will actually happen.
A relative og:image fails the same silent way
/images/product.jpg resolves perfectly in a browser, which has the page URL to
resolve it against. A scraper fetching your markup has no such context, so the card has no
picture. Absolute URLs, always.
This page does not fetch anything
The image above is not loaded — you see its URL rather than the picture. That is deliberate: everything here runs in your browser and makes no outbound requests, so this tool cannot and does not tell you whether the image exists, what size it is, or whether the URL returns a 404. It checks the markup, which is a different question, and it says which one it is answering.
Every check this tool runs (10 rules)
OG-A01 Uses name= where Open Graph requires property=
Open Graph is defined on RDFa, so its tags use the property attribute. Almost every other meta tag uses name, which is why this is the mistake people make — and it is invisible: the page looks completely normal in a browser, and the share preview comes out blank.
Fix: Change name="og:…" to property="og:…".
Source: The Open Graph protocol
OG-R01 Missing a required property
The protocol requires og:title, og:type, og:image and og:url on every page. Missing any of them means the scraper falls back to guessing from the page body, and what it guesses is rarely what you wanted shared.
Source: The Open Graph protocol
OG-U01 og:image or og:url is a relative path
A scraper has no page context to resolve a relative path against. The image works perfectly when you look at the page and is simply absent from the share card — another failure that cannot be seen by reading the HTML in a browser.
Fix: Use the full absolute URL including the scheme and host.
Source: The Open Graph protocol
OG-C01 og:url is not the canonical URL
og:url is the permanent identifier for the object in the graph. If it carries tracking parameters or a session id, every share creates a separate object and the like and share counts split between them.
Fix: Use the clean canonical URL, without campaign parameters.
Source: The Open Graph protocol
OG-D01 og:description is missing or very long
Not strictly required by the protocol, but without one the platform pulls whatever text it finds first. Long descriptions are truncated in the card, generally well before 200 characters.
Source: Own engineering guidance on how share cards render, not a requirement of the Open Graph protocol — ogp.me does not specify description length or image dimensions. Facebook’s own webmaster documentation would be the natural citation, but it returned HTTP 400 to anonymous automated requests on 2026-08-23, so no link is offered rather than one that cannot be checked.
OG-T01 og:type value is not one the protocol defines
og:type selects which additional properties apply. An unrecognised value means the extra properties you have set are ignored, and the object is treated as a plain website.
Fix: Use website, article, book, profile, or one of the music.*, video.* types.
Source: The Open Graph protocol
OG-I01 og:image has no dimensions declared
Declaring og:image:width and og:image:height lets the platform lay out the card before it has fetched the image. Without them the first share of a new URL often renders without the picture, because the scraper had not finished fetching it in time.
Source: Own engineering guidance on how share cards render, not a requirement of the Open Graph protocol — ogp.me does not specify description length or image dimensions. Facebook’s own webmaster documentation would be the natural citation, but it returned HTTP 400 to anonymous automated requests on 2026-08-23, so no link is offered rather than one that cannot be checked.
OG-M01 Duplicate property with different content
The same property appears more than once with different values. Some are legitimately repeatable — og:image is — but for single-valued properties the scraper takes the first, which may not be the one you meant.
Source: The Open Graph protocol
OG-N01 Syntax only — the URLs are not fetched
This checks the markup. It does not fetch og:image to see whether the file exists, is the right size, or returns a 404, and it does not fetch og:url. Those need a request from outside your browser, which this page deliberately does not make.
Source: The Open Graph protocol
OG-V01 All four required properties present and absolute
Title, type, image and URL are all declared with property= and absolute URLs.
Source: The Open Graph protocol
Markup only. No URL in your tags is fetched, so nothing here says whether the image or the page exists.