Skip to content

Link previews

Link preview checker: test your Open Graph and card tags

By Hannah Voss, Editor · Reviewed September 2026 · Updated · 10 min read

Quick answer

Paste your page source into the checker below and it lists every Open Graph and X card tag, flags the 4 required tags that are missing, catches duplicates and relative image paths, and draws mock cards. It runs in your browser and fetches nothing, so confirm the final card in each network's own debugger.

A cut-paper link preview card with a grey landscape panel, two blank text bars and a small embossed seal in one corner

Runs in your browser. Nothing you paste is sent anywhere, stored or fetched; image addresses are listed, not loaded.

How to use the checker

  1. Open your page logged out

    Open the page in a private window so you see what a crawler sees, not an editor view with extra admin markup.

  2. Copy the source

    Press Ctrl+U (Option+Command+U on a Mac) to view the source, select all and copy. The head section alone is enough.

  3. Paste and check

    Paste into the box above and press the check button. The list of things to fix comes first, then mock cards, then every tag found.

  4. Fix at the source

    Change the tags in the one plugin or theme file that writes them, as described in outputting Open Graph from one place in WordPress.

  5. Confirm on each network

    Run the live URL through the network's own tool, then post a test share.

Why this checker does not fetch your URL

Most online preview checkers ask for a URL and fetch the page from their own server. That is convenient, but it means a third party requests your page, and a public fetcher can be pointed at any address on the internet. This checker works the other way round: you paste the HTML, and the parsing happens in your browser with the standard DOMParser. Nothing leaves the page, nothing is logged, and there is no server to rate limit because there is no server call. The cost is that it cannot see what your server sends to a specific crawler, so a firewall that blocks the Facebook crawler or a login wall in front of the page will not show up here. For those, the network debuggers are the test.

Image addresses are listed rather than displayed for the same reason. Loading your image would mean a request from this page to your server. The checks that matter (an absolute https address, declared width and height, a single og:image) can be made from the tags alone.

What the checker looks for

CheckWhy it mattersSource of the rule
og:title, og:type, og:image, og:url presentThe four properties every Open Graph page needsThe Open Graph protocol, basic metadata
Each tag appears onceTwo sets of tags mean the network picks one, often the wrong oneCommon cause in WordPress; see the duplicate tag table in our wrong-image guide
Absolute https image URLA relative path such as /uploads/x.jpg cannot be fetched by a crawler reading the tag on its ownOpen Graph image property takes a URL
og:image:width and og:image:heightLets Facebook render the image on the first share instead of after it caches the fileMeta's guide to sharing for webmasters
Image at least 600 by 315Smaller images get a small square layout on FacebookMeta's guide to sharing for webmasters
og:url equals the canonical linkShares and counts split across two addresses when they differOur wrong preview image fix list
twitter:card presentWithout it X shows a small summary card or a plain linkX cards markup reference
From pasted source to a live card01Copy sourcelogged out02Pastein checker03Fix tagsone source04Purgepage cache05Debuggerper network
The checker covers the first three steps; the network debuggers cover the last.

Which network tool to use next

The mock cards show roughly how the tags combine. Each network then applies its own crop, cache and length limits, and only its own tool shows that. Use the Facebook Sharing Debugger walkthrough for Facebook, the LinkedIn Post Inspector guide for LinkedIn, and testing X cards after the validator change for X. Chat apps work differently again: how Slack unfurls a link, Discord link embeds and previews in WhatsApp and iMessage each cover their own fetch and cache rules. The whole set is collected on the link previews hub.

Reading the results

The first list is ordered as the checks run, not by severity. Treat anything about og:image as the top priority: a missing, relative or duplicated image is the most visible failure in a feed. Next fix duplicates, because they make every other fix unpredictable. A missing description is the least urgent; most networks fall back to the meta description or show only the title.

The tag table at the bottom lists every og:, twitter:, article: and fb: tag in the order your page prints them. If you see the same property twice with different values, the second source is usually a share plugin or the theme; switch it off there rather than editing around it. The authorship tags that sit next to Open Graph, covered in author and article:author tags, also show here.

What goes wrong

  • Pasting the editor view. Source copied while logged in to WordPress can include admin bar markup and miss tags a caching layer adds. Copy from a private window.
  • Pasting rendered HTML from developer tools. The elements panel shows the page after scripts ran. Crawlers read the server HTML, so use view source instead.
  • Fixing the tags but not the cache. The tags are right in the checker and wrong on Facebook because the network cached the old page; scrape again in its debugger.
  • Trusting the mock card for crops. The mocks show which text and image a network would pick, not the exact crop. For sizes see the 1200 by 630 image and its safe zone.
  • Expecting the checker to see blocks. If a firewall, bot rule or login wall stops crawlers, the source you paste still looks fine. The network debuggers show the response code they got.

Check it worked

  • The checker reports no missing required tags and no duplicates.
  • The image address is absolute, https and opens in a private window.
  • og:url and the canonical link are identical, trailing slash included.
  • The Facebook debugger and the LinkedIn Post Inspector show the same title, description and image as the checker's tag table.
  • A test post on each network shows the intended card.

Sources

Questions

Does this link preview checker send my page anywhere?

No. The HTML you paste is parsed by your browser with DOMParser and the results are drawn on this page. No request is made, nothing is stored, and image addresses are shown as text rather than loaded.

Why paste HTML instead of a URL?

Fetching a URL needs a server that requests other people's pages on demand, which can be abused and has to be rate limited. Pasting the source keeps the check private and instant, and the network debuggers already cover live fetching.

Which tags does a link preview need?

The Open Graph protocol requires og:title, og:type, og:image and og:url. Add og:description, og:image:width and og:image:height, and twitter:card for X. Output each tag once, from one plugin or one theme file.

Why does the checker pass but Facebook shows the old image?

Facebook caches the page and the image. Purge your own page cache, then press Scrape Again in the Sharing Debugger. A different image needs a new image URL, because Meta caches images by address.

Can it check Slack, Discord or WhatsApp previews?

It shows a mock compact card built from the same Open Graph tags those apps read. Each app has its own fetch rules and cache, so send the link to yourself in the app to confirm the final preview.

Share this guide

Hannah Voss, Editor. Checks every guide against a working WordPress install and the networks' current documentation. Last reviewed September 2026.

  1. How to use the Facebook Sharing DebuggerUse Meta's Sharing Debugger to see the tags Facebook scraped, read each warning, force a fresh scrape, and refresh many URLs or call the Graph API instead.9 min read
  2. How to use the LinkedIn Post InspectorUse the LinkedIn Post Inspector to see the title, image and description LinkedIn reads from your page, request a fresh scrape, and fix a stale preview.8 min read
  3. What happened to the Twitter Card Validator, and how to test cards nowX removed the Twitter Card Validator preview in August 2022. Test a card today with the post composer and page source, and fix a card that does not show.8 min read
  4. Adding Open Graph tags in WordPressAdd Open Graph tags to WordPress with an SEO plugin or theme code: the four required tags, image tags, per-post overrides, and how to avoid duplicate tags.7 min read