How to check your Open Graph tags
Pick whichever way of loading the page suits you. Every method ends in the same report.
- Page URL: type the address and press Check tags. Our server fetches the page as each app's crawler (Facebook's, X's, LinkedIn's, WhatsApp's, iMessage's, Slack's and Discord's) and as a normal browser. The previews show what Facebook's crawler got, and the Crawlers panel shows whether any other crawler is blocked or gets different tags.
- Paste HTML: open the page, press Ctrl U (⌥ ⌘ U on a Mac) to view its source, copy everything and paste it. This works for pages you haven't published yet, and nothing leaves your browser.
- Bookmarklet: drag the button to your bookmarks bar once, then click it on any page, including
localhost, staging servers and pages behind a login. Online checkers can't reach any of those.
You get a preview for Google, Facebook, X, LinkedIn, WhatsApp, iMessage, Slack and Discord, a list of checks, facts about the share image, and an editor. Change a title or swap the image and every preview updates as you type. Then copy the finished HTML for your page's <head>.
What Open Graph tags do
When someone pastes a link into a post or a chat, the app sends a crawler to the page and reads a few <meta> tags from its HTML to build the preview card. The Open Graph protocol defines the main ones:
og:titleandog:description: the headline and the line of text under it.og:image: the picture. It has the biggest effect on whether people click.og:url: the page's main address. Facebook treats it as the real page, so pointing it somewhere else shows that page's preview.og:typeandog:site_name: what kind of page it is (website,article) and your site's name.
X reads its own twitter: tags first and falls back to the Open Graph ones. The tag that matters most there is twitter:card: set it to summary_large_image for a full-width picture instead of a small square thumbnail. Slack and Discord follow the same tag. LinkedIn has shown links in ordinary posts as a compact card with a small image since 2024; only sponsored posts get the big picture. Google ignores Open Graph for search results and uses the page <title> and meta description instead, which is why the checker covers those too.
The share image: size, shape and file
- Size: 1200×630 pixels is the standard. Facebook shows images under 600×315 much smaller and ignores those under 200×200, and iMessage may show images under 150 pixels as an icon.
- Shape: large previews crop to about 1.91:1, while WhatsApp thumbnails and X summary cards crop to a square. Keep text and faces near the middle. The previews above use the same cropping, so you can see what gets cut.
- File: use a JPEG or PNG with a full
https://address. SVG doesn't work anywhere. X and LinkedIn take up to 5 MB, but WhatsApp only shows its large preview for images under 600 KB, so aim for 300 KB or less. - Privacy: a photo used as a share image can still carry its camera's GPS location. Check it and strip it with the EXIF viewer before you publish.
Why a preview can look wrong after you fixed it
- Caching: platforms keep a copy of a preview for days or weeks. After fixing your tags, ask them to read the page again with Facebook's Sharing Debugger or LinkedIn's Post Inspector. For other apps, sharing the address with an extra query string such as
?v=2gets a fresh preview. - JavaScript: social crawlers don't run JavaScript. Tags that a single-page app adds in the browser (with React Helmet, Vue Meta and the like) are invisible to them. Render the tags on the server or at build time. The bookmarklet flags tags that only JavaScript adds.
- Blocked crawlers: a login wall, a firewall or bot protection that challenges visitors also stops the crawlers, and they then show no preview. The checker flags it when the site answers a crawler with a bot check or an error.
- Tags too far down: Slack reads only the first 32 KB of a page, WhatsApp the first 300 KB and Facebook the first 1 MB. Put the share tags near the top of the
<head>, before large inline scripts and styles. - Relative addresses:
og:imageandog:urlmust be full URLs such ashttps://example.com/share.jpg, not/share.jpg.
Privacy
To check a page by its address, our server fetches it once, sends the tags to your browser and keeps nothing: no copy of the page and no log of the address. Everything else runs in your browser. Pasted HTML and the bookmarklet never leave your device. Share result makes a link to your report: it carries the address you checked and the final address after any redirects, the page's share tags (title, description, robots and googlebot tags, Open Graph and X tags, canonical and icon links) and whether you edited them, how the page answered (HTTP status, number of redirects, a bot check, an X-Robots-Tag header, whether it was cut off at 1 MB), how far into the HTML the last share tag ends, what each crawler got (its HTTP status and which tags differ), the share image's size, file size and type, and (from the bookmarklet) which tags only JavaScript adds, all in the part after #, which browsers never send to a server. Whoever opens it sees the counts and main findings, worked out again from those tags, and can check the page themselves. Checking images instead? The Content Credentials checker shows whether an image carries a signed record of how it was made.