Open Graph Checker
Check your og: tags and see the card Facebook, LinkedIn and Slack will build from them — including the relative og:image that quietly blanks the picture.
A browser is not allowed to read another site's page, so this request goes through our server. The page is fetched, its head is read, and it is thrown away — nothing is stored or logged.
Enter a page URL to see its tags and how the link will look.
Table of contents
Four tags do almost all of the work
Open Graph is a big specification and you can ignore most of it. og:title, og:description, og:image and og:url are what produce a card. Set those four properly and every platform that reads Open Graph has what it needs; the rest of the vocabulary exists for describing albums and video, not web pages.
og:url is the one people skip, and it is quietly the important one. It tells the platform the canonical address of the thing being shared, so a link with a tracking parameter on the end and the same link without one are counted as the same page rather than two. Miss it and your share counts scatter across every variant anyone ever posted.
og:image must be absolute, and it is worth saying twice. A relative path works in every browser you test in, because your page is right there to resolve it against. The crawler has no page — it takes the string and fetches it — so a relative path becomes a request to nowhere and the card renders without an image. This is flagged as an error here, not a warning.
One more that costs nothing: og:type. It defaults to website, which is nearly always right, so setting it changes little — but a page declaring article gets treated as one by platforms that care, and it takes a second.
Frequently asked questions
Four do the work: og:title, og:description, og:image and og:url. og:type is worth setting even though it defaults to website, and og:site_name gives the small label above the headline on some platforms. Everything else in the specification is for richer object types — music, video, articles with authors — and most pages never need any of it.
Check whether it is relative. That is the single most common cause, and this tool reports it as an error rather than a warning because it is genuinely broken rather than merely suboptimal: a crawler fetches the image URL on its own, with no page for context, so /og.png resolves to nothing. Use the full https:// URL. After that, the usual suspects are an image behind authentication, one that redirects, and one larger than the platform will fetch.
1200 × 630 is the size everything is designed around, and it is the one to use if you only make one. It is the 1.91:1 ratio Facebook and LinkedIn crop to, and it is large enough that X will show it as a wide card. Below about 600 × 315 platforms drop to the small square treatment regardless of what you asked for.
Because it cached it, and caches are aggressive here. Changing the tag does not change what has already been scraped. Facebook's own Sharing Debugger has a "Scrape Again" button, LinkedIn has the Post Inspector, and both are the only way to force a refresh. This tool shows you what the tags say now — the platforms may take a while to agree.
No, and that is the good news about Open Graph. Both read og: tags directly, which is why they preview identically here. Slack additionally understands oEmbed and some unfurl-specific hints, but for an ordinary page Open Graph is all either of them looks at.
The specification says property, and that is what to write. In practice crawlers accept both, which is why this checker reads either — reporting a tag as missing when the platform can see it perfectly well would be worse than being strict. If you are writing them fresh, use property for og: and name for everything else.
The Zeal Promise
Non-negotiable, on every tool we ship.
- No sign-up — ever
- No watermarks on any output
- No ads near the download button
- Works fully on mobile
- Privacy-first: processing stays in your browser
- Open source (MIT) — audit it, contribute, self-host
- Zero runtime dependencies in tool logic