Open Graph Checker

Next

Paste the HTML of your page (the <head> alone is enough) and this checker parses every og: and twitter: meta tag it finds, then reports which of the six essential tags are there, which are missing, and the exact value of each one. Because it reads the markup you paste instead of fetching a live URL, it also works on staging servers, localhost and pages behind a login, where no online scraper can reach.

How the checker reads your tags

  1. 1

    Open the page source

    Press Ctrl+U (Cmd+Option+U on macOS) to see the raw HTML that social crawlers actually receive.

  2. 2

    Copy the head section

    Select from `<head>` to `</head>`. The body is not needed, although pasting the whole page does no harm.

  3. 3

    Paste it into the checker

    Every `<meta>` tag is parsed as you type. No URL is fetched: only the markup you paste is examined.

  4. 4

    Read the checklist

    Six checks turn green or red: og:title, og:description, og:type, og:url, og:image and twitter:card.

  5. 5

    Review the values found

    Every og: and twitter: tag is listed with its content, so typos, empty values and relative image paths stand out.

The Open Graph tags the checker looks for

Tag Purpose On the checklist?
og:title Card headline Yes, required
og:description Card subtitle Yes, required
og:type website, article, video, etc. Yes, required
og:url Canonical URL Yes, required
og:image Preview image URL Yes, required
og:site_name Brand line above the headline Listed when present
og:locale en_US, es_ES, etc. Listed when present

Any other og: tag in your markup is listed too, even when it is not part of the checklist.

Twitter Card tags

X (Twitter) falls back to Open Graph when its own tags are absent, so only twitter:card is on the checklist. The rest are listed whenever the checker finds them.

Tag Purpose
twitter:card summary, summary_large_image, etc.
twitter:site @handle of the publishing account
twitter:creator @handle of the author
twitter:title Overrides og:title
twitter:description Overrides og:description
twitter:image Overrides og:image

Image spec that works everywhere

The checker confirms that og:image is declared, but it never downloads the file, so verify these by hand:

  • Dimensions: 1200 x 630 px (Facebook, LinkedIn, large Twitter cards).
  • Aspect ratio: 1.91:1 for summary_large_image.
  • File size: under 5 MB, ideally under 1 MB so the crawler does not time out.
  • Format: JPG or PNG. WebP and AVIF are still supported inconsistently.
  • Absolute URL: always the full https://... address, never a protocol-relative or root-relative path.

Common problems the report reveals

  • No og:image. The single most common failure. Without an image the card degrades into an unstyled blue link.
  • A tag that is present but empty. The checker prints every value, so an og:title with nothing after it is easy to catch.
  • Relative image path. og:image must be an absolute URL; a path such as /img/card.jpg breaks scraping.
  • og:url mismatch. When og:url differs from the real canonical, platforms may refuse to scrape the page.
  • Tags injected by JavaScript. They never appear in view-source, so they do not appear here either, and most crawlers will not see them.
  • A stale card on Facebook. Not a markup problem: Facebook caches its scrapes. Force a refresh from its Sharing Debugger.

Frequently Asked Questions

Because pasting the markup shows exactly what a social crawler sees in the raw response, and it works on pages no crawler can reach: staging servers, localhost, intranets and anything behind a login. Open your page, press Ctrl+U, copy the source, paste it here.

Not strictly. X falls back to the Open Graph tags when the twitter: ones are missing, which is why only twitter:card is on the checklist. Add the rest only when you want a different title, description or image on X than on every other platform.

The inspector shows the DOM after JavaScript has run, while social crawlers read the raw HTML response. Use view-source (Ctrl+U), not the inspector, and paste that. If the tag exists only in the DOM, add server-side rendering or a prerender service so crawlers can see it.

1200 x 630 px, JPG or PNG. It is the recommended size for the large Facebook and LinkedIn cards, it is accepted by X, and it scales cleanly in Slack, Discord and other link-unfurling apps. The checker confirms that og:image is declared, but it does not open the file, so check the dimensions yourself.

Facebook caches scrape results for up to 30 days. Paste the URL into the Sharing Debugger at developers.facebook.com/tools/debug and re-scrape it to invalidate the cache.

Related Tools

Tool available in other languages