Tool guideWeb & SEO Utilities

Open Graph Checker – Complete Guide to og: Tags, Twitter Cards and Link Previews

What Open Graph and Twitter Card tags are, how chat apps and social networks turn them into preview cards, and how to read and fix the results of the NetTools.tech Open Graph Checker.

By NetTools.tech · · 9 min read

A colleague pastes your new article into a chat and the preview shows the cookie banner text, no image and a title that ends mid-word. Or a marketing campaign goes live and every share on social media uses last year’s logo. Both problems come from the same few meta tags, and both are hard to debug by staring at the page in a browser, because the preview is built from tags you cannot see on screen.

The Open Graph Checker reads a page’s Open Graph (og:*) and Twitter Card (twitter:*) tags, shows which values a preview would actually use — including the fallbacks to the page title and meta description — and flags missing, relative or invalid values. You can fetch a live page or paste HTML that is not yet published.

What is Open Graph?

In simple terms

Open Graph is a set of meta tags that tells other apps how to present your page as a card: the headline, a short description, an image, the canonical address and the site name. When someone shares a link, the app fetches the page, reads those tags and draws the card. If the tags are missing, each app guesses — usually from the HTML title and description — and the guesses differ.

Technical background

The Open Graph protocol (documented at ogp.me) defines tags written as <meta property="og:title" content="…"> in the document head. The four basic properties are og:title, og:type, og:image and og:url; og:description and og:site_name are optional but widely used. Structured properties extend a value, for example og:image:width, og:image:height and og:image:alt. Many sites write name="og:…" instead of property=; most consumers accept both.

X/Twitter uses its own twitter:* names with name= attributes. The key one is twitter:card, whose valid values are summary, summary_large_image, app and player. For title, description and image, X/Twitter falls back to the Open Graph values when twitter:title, twitter:description or twitter:image are absent.

Preview bots fetch the page with their own user agents, generally do not execute JavaScript, follow redirects, and then fetch the image separately. They also cache the result, which is why changes do not appear immediately.

Why use an Open Graph checker?

  • Missing or wrong images. A relative og:image, an http:// image on an https:// page, or an image that is too small leads to cards without pictures.
  • Truncated or wrong titles. Seeing the exact value — and whether it came from og:title or a fallback — tells you which tag to fix.
  • Duplicate tags. Templates and plugins sometimes emit two og:title tags; apps usually take the first, which may not be the one you edited.
  • Pre-publication review. Paste the HTML of a staging page and check the card before it goes live.
  • Short links and redirects. When a shared link redirects, the preview is built from the final page; checking that page shows what people will actually see.

Who should use it?

  • Web developers and theme or CMS plugin authors who generate the head section.
  • Content editors and social media managers preparing posts.
  • SEO specialists reviewing metadata together with the Meta Tag Analyzer.
  • Anyone whose links look wrong in chat apps.

How the Open Graph checker works

Fetch mode. Your browser sends the URL to the NetTools.tech server, which requests the page with an identified NetToolsBot user agent. The request goes through the same SSRF protection as the other web tools: only public http/https addresses on ports 80, 443, 8080 and 8443, every redirect re-checked, up to 10 redirects, a 10-second timeout per request and at most the first 2 MB of HTML. If the response is not HTML, the checker tells you the status and content type instead of guessing. The server returns the HTML to your browser and does not store it; it never downloads the image.

Paste mode. The HTML you paste is analyzed only in your browser. An optional Page address is used to resolve relative URLs (for example a relative og:image) and to fill the URL fallback. Nothing is uploaded.

Analysis. In both modes the HTML is parsed inertly with the browser’s DOM parser: scripts never run and no images, stylesheets or frames are loaded. The checker collects every og:* and twitter:* value in document order and builds the preview values with these fallbacks:

ValueFirst choiceFallbacks
Titleog:titletwitter:title, then the HTML <title>
Descriptionog:descriptiontwitter:description, then the meta description
Imageog:image (or og:image:url, og:image:secure_url)twitter:image
URLog:urlthe canonical link, then the page URL
Site nameog:site_namethe host name

How to use the NetTools.tech Open Graph Checker

  1. Open the Open Graph Checker.
  2. Choose Fetch page URL and enter the address, for example https://www.example.com/article, or choose Paste HTML and paste the page source (View source in your browser).
  3. In paste mode, optionally fill Page address so relative URLs can be resolved. Load example fills in a sample page with deliberate mistakes.
  4. Press Check Open Graph.
  5. Review the Previews. Click Load image if you want to see the actual image; it is not loaded automatically.
  6. Work through Values used and Checks, then compare with the full Social tags table.

Understanding the results

ResultMeaningWhat to look for
Large image card / Compact cardGeneric illustrations of a summary_large_image-style and a summary-style cardEach app styles and crops cards differently; use them to spot missing parts, not to judge pixel layout
Values usedThe title, description, image, URL, site name, type and Twitter card that a preview would use, each marked with its source, e.g. “(from <title>)”A value coming from a fallback means the dedicated tag is missing
Image sizeog:image:width × og:image:height as declared, or “Not declared”Declared sizes let apps lay out the card before the image loads
og:title checkMissing (warning), longer than 90 characters (info), defined more than once (warning)Fix duplicates first — apps usually read the first tag
og:description checkMissing (info) or longer than 200 characters (info)Long descriptions are typically cut to one or two lines
og:image checkMissing (warning), relative URL (error), http:// (warning) or absolute https:// (ok)Relative paths are the most common reason for cards without images
Image size checkUnder 200 × 200 (error); under 600 px wide or ratio far from 1.91:1 (info)1200 × 630 suits large cards
og:image:altInfo when no alt text is setScreen-reader users get no description of the image otherwise
og:type, og:url, og:site_nameInfo when missing (apps assume “website”, use the canonical or page URL, or show the domain); warning when og:url is relativeog:url should be the canonical, absolute address
twitter:cardInfo when missing, error when the value is not one of summary, summary_large_image, app, playerUse summary_large_image for a big image
Social tagsEvery og:* and twitter:* tag found, in document orderLook for duplicates and empty values

Example: a page with a relative image

Using Load example in paste mode, the page address is https://www.example.com/guides/network-monitoring/ and the head contains, among other tags:

html
<meta property="og:type" content="article">
<meta property="og:title" content="Network Monitoring Guide">
<meta property="og:url" content="https://www.example.com/guides/network-monitoring/">
<meta property="og:image" content="/images/monitoring-guide.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:site_name" content="Example Company">
<meta name="twitter:card" content="summary_large_image">

The Values used list shows the image resolved against the page address as https://www.example.com/images/monitoring-guide.png, and the image size as 1200 × 630. The Checks list nevertheless reports an error for og:image: it must be an absolute URL, because many apps ignore relative image paths. The fix is to write the full https://www.example.com/images/monitoring-guide.png in the tag. twitter:card is reported as a valid card type, and the image size is fine.

Common use cases

  • Checking every new blog post template once before rollout.
  • Reviewing staging pages behind a VPN: copy the HTML and use paste mode, since the server cannot reach private addresses.
  • Debugging why a link shared through a URL Shortener shows the wrong preview: check the final destination after following the Redirect Checker chain.
  • Auditing a CMS plugin that might emit duplicate tags.
  • Making sure product pages declare image dimensions and alt text.

Troubleshooting

“The server did not return an HTML page”

The URL answered with a non-HTML content type or an error status. Some sites block automated requests or serve a challenge page to bots. Check the URL in the HTTP Status tool, or paste the page source instead.

Fetch fails or times out

The site did not answer within 10 seconds, resolves to a private address, uses a port other than 80, 443, 8080 or 8443, or refused the connection. Paste mode works without any server request.

Tags are in the browser but not in the checker

They are added by JavaScript after the page loads. Render the tags on the server (or prerender the head) so preview bots see them too.

The preview in an app still shows old content

The app cached the earlier preview. Use the platform’s refresh or debugging feature if it has one; otherwise wait. Changing the URL (for example a new query parameter) forces a new fetch in many apps but creates a different URL.

The image does not load after clicking “Load image”

The host refuses hotlinking, needs cookies, uses http:// on a mixed-content page, or the file does not exist. Preview bots will likely have the same problem; open the image URL directly to check.

Common mistakes

  • Writing a relative path in og:image.
  • Using an image much smaller than the card, which apps either upscale or replace with a small thumbnail.
  • Forgetting twitter:card, so X/Twitter shows a small card even with a large image available.
  • Leaving two sets of tags from a theme and an SEO plugin.
  • Pointing og:url at a different page than the canonical URL; apps treat og:url as the identity of the shared object.
  • Expecting changes to appear instantly in apps that cache previews.

Limitations

  • The previews are generic illustrations; real apps crop images, shorten text and apply their own rules.
  • The server fetches with the NetToolsBot user agent. Sites that serve different HTML to specific preview bots may show those bots something else.
  • JavaScript is not executed, so script-inserted tags are not seen.
  • Only the first 2 MB of HTML are read; tags placed after that point are missed.
  • The checker does not download the image, so it cannot verify that the file exists, its real pixel size or its file size; it checks the declared values.
  • It does not check platform-specific extensions beyond og:* and twitter:*, and it cannot see or clear any app’s preview cache.
  • Pages on private networks cannot be fetched; use paste mode for those.

Security & privacy

In fetch mode the URL is sent to the NetTools.tech server, which fetches the page and returns its HTML to your browser; neither the URL nor the page is stored. The server never contacts the image host. In paste mode nothing leaves your browser. If you click Load image, your browser contacts the image host directly (without a referrer), which reveals your IP address to that host — that is why images are not loaded automatically.

Do not paste HTML from pages behind a login that contain personal data or session tokens; you only need the head section for this check.

Summary

Link previews are built from a handful of og:* and twitter:* tags, with fallbacks to the page title and description when they are missing. The Open Graph Checker shows which values a preview would use, where each value came from and which tags are missing, relative or invalid, from a live page or pasted HTML. It does not reproduce any app’s exact rendering or cache, so treat the previews as a structural check.

Frequently asked questions

What are Open Graph tags?

Open Graph tags are meta tags in a page’s head, such as og:title, og:description and og:image, that describe how the page should appear when its link is shared. Social networks, chat apps and many other tools read them to build a preview card with a title, short text and an image.

What image size should og:image have?

1200 × 630 pixels (about 1.91:1) works well for large preview cards in most apps. The checker reports images declared smaller than 200 × 200 as an error and suggests 1200 × 630 when the declared width is under 600 pixels or the ratio is far from 1.91:1.

Why must og:image be an absolute URL?

Apps fetch the image separately from the page and many do not resolve relative paths such as /images/card.png against the page address. Use a full https:// URL so every consumer can load it.

Do I need Twitter Card tags if I have Open Graph tags?

Usually only twitter:card. X/Twitter falls back to the Open Graph title, description and image, but the card layout is chosen with twitter:card, for example summary_large_image for a big image. Without it a small summary card is shown.

I fixed my tags but the old preview still appears. Why?

Apps cache previews, sometimes for days, and do not re-read the page every time a link is shared. Use the platform’s own refresh or debug tool if it has one, or wait for its cache to expire.

Why does the checker show different tags than the page in my browser?

The checker reads the HTML as the server delivers it and does not run JavaScript. Tags inserted by scripts after the page loads are invisible to it — and to most preview bots as well.

Does the checker download my og:image?

No. The NetTools.tech server only fetches the page HTML. The image is loaded only if you click Load image, and then directly by your browser from the host that serves it, without a referrer.