How to Test OG Images Before Publishing in 2026 — The 5-Tool Validator Workflow

May 7, 2026 · 9 min read · By TinyTools

You spent an hour designing a beautiful 1200×630 OG image. You ship the post. Five minutes later a teammate pastes the link into Slack and the preview is a stretched, blurry placeholder with the wrong title. By the time you fix it, three of the most engaged-with shares of your launch have already gone out with the broken card — and LinkedIn has it cached for the next seven days.

This is the most common preventable launch failure I see. Not because OG images are hard to make, but because almost nobody tests them across all the platforms that actually render the link. Twitter's validator passes. Everyone assumes the rest will too. They don't.

This is the workflow I run before every blog post and product launch goes live. Five tools, ten minutes total, catches roughly 95% of the issues that would otherwise embarrass you in front of a few thousand readers.

Why pre-publish testing matters more in 2026

Three things changed in the last 18 months that turned link-preview testing from a nice-to-have into a hard requirement:

The cost of a broken preview is also higher than it used to be. Buffer's 2024 social engagement study found that posts with rich previews drove roughly 2.3× the click-through of posts with text-only or broken previews on the same content. Spending ten minutes to verify your card before you ship is the cheapest CRO intervention available to you.

The 5-tool workflow

Run these five validators in this order. The order matters because the first three are official platform tools that also force a fresh fetch — so you fix issues once and the cache invalidates everywhere it counts.

1. X / Twitter Card Validator

The X Card Validator is the canonical first stop. Paste your URL, hit Preview Card. You're checking three things:

The validator was briefly broken between October 2024 and January 2025, which led to a lot of "the validator says it works" stories from teams whose posts shipped with broken cards anyway. As of writing, it's reliable again. But always cross-check with step 4 below.

2. LinkedIn Post Inspector

The LinkedIn Post Inspector is the most important tool on this list because of LinkedIn's 7-day cache. Paste your URL, click Inspect. The preview shown is exactly what every share will render for the next week unless you re-inspect.

What to verify:

If the preview shows a previous version, click Re-Scrape. This is what forces the cache to refresh. Do this before you announce, not after. Once a broken card goes out to 50 connections, it's locked in until the cache expires.

3. Facebook Sharing Debugger

Facebook's Sharing Debugger doubles as a WhatsApp validator (Meta uses the same scraping infrastructure for both). Paste the URL, hit Debug. Then click Scrape Again — this is the step everyone forgets, and it's what actually invalidates the Meta cache.

The debugger surfaces errors that the friendlier validators hide:

4. Slack and Discord (the manual eyeball test)

Neither Slack nor Discord publishes a validator. The way to test is to paste the URL into a private channel or DM and look at it. This is the test most teams skip and it's where the highest-impact bugs hide.

Slack scales your 1200 × 630 image down to roughly 360px wide on desktop and 320px wide on mobile. Anything you can't read at that size is invisible. Open a quiet channel, paste your URL, and squint at the preview from across the room. If the headline is unreadable, your on-image text is too small — see our OG image best practices guide for the 30-character / 64–80px headline rule.

Discord crops more aggressively than Slack and renders the image in a slightly cooler color profile. If your design uses a near-black background, it may render as deep purple on Discord. Test with a brand color, not a theoretical hex.

Both platforms cache for about 30 minutes per channel, so if you fix something and re-paste, switch to a different test channel rather than the same one.

5. iMessage and the iOS 19 silent downgrade

This is the one that bites everyone. Send the URL to yourself in iMessage — to your own phone number from your Mac, or copy/paste in a one-person group chat. iOS 19 evaluates the image and decides whether to render a rich card or a plain link bubble. The criteria, based on testing across roughly 80 production blog posts:

If iMessage shows a plain blue link bubble instead of a rich card, you've hit one of these. The most common offender is file size — every 1200 × 630 PNG should be under 300 KB. Use Squoosh or run an mozjpeg pass before publishing.

The pre-publish checklist (steal this)

This is the literal checklist I keep pinned in Notion and run before every post hits the live URL:

#CheckToolPass criteria
1Card renders as large image, not summaryX Card Validatorsummary_large_image, no crop
2LinkedIn cache refreshedPost InspectorRe-Scrape clicked, current image shown
3Meta image downloads + correct sizeFB Sharing DebuggerNo errors, ≥1200×630
4Headline readable at thumbnail sizePaste into Slack channelEye test from 6 feet away
5iMessage shows rich previewSend URL to selfCard not plain link bubble
6File size saneDevTools or curl -I< 300 KB ideal, < 5 MB hard limit
7Meta tags well-formedView source / Lighthouseog:title, og:image, og:image:width, og:image:height all set

The whole loop takes 8–12 minutes once you're used to it. Doing it before announcement saves you from the much worse alternative: discovering a bug at 9:01 a.m. when the launch tweet has already gone out and the LinkedIn post is locked in for a week.

Generate a validator-ready OG image in 30 seconds

Eight templates, every one set to 1200 × 630 with safe-zone padding baked in. Compresses to under 300 KB on export so iMessage and Slack render perfectly. No signup, no watermark, no email.

Try it free →

Common failures and the one-line fixes

About 90% of the broken-preview tickets I see come down to four mistakes. Each one has a specific fix:

"Twitter shows the small card, not the large one"

Add this meta tag explicitly: <meta name="twitter:card" content="summary_large_image">. As of late 2025 this is mandatory — X no longer infers it from og:image alone for new domains.

"LinkedIn keeps showing the old image even after I fixed it"

The fix is not deleting and re-sharing. LinkedIn's cache is keyed on URL. Either (a) hit the Post Inspector and click Re-Scrape, or (b) add a meaningless query parameter like ?v=2 to the share link to force a new cache entry.

"Facebook says og:image could not be downloaded"

Your CDN or origin is blocking facebookexternalhit/1.1. Whitelist that user agent. If you're on Cloudflare with bot fight mode on, this is the cause about 70% of the time.

"iMessage shows a plain link bubble instead of a card"

Compress your image. The single most common cause is a 1200 × 630 PNG over 1 MB. Run it through Squoosh at quality 75 — the file usually drops to 80–180 KB with no visible quality loss, and the iMessage preview comes back instantly.

The "force-refresh everywhere" sequence

If you ship a fix and need every platform's cache to invalidate as fast as possible:

  1. Re-Scrape on LinkedIn Post Inspector — clears the 7-day LinkedIn cache.
  2. Click Scrape Again on Facebook Sharing Debugger — clears Facebook + WhatsApp.
  3. Re-validate on the X Card Validator — clears X's CDN entry within roughly 30 minutes.
  4. For Slack and Discord, post the URL in a fresh channel — those caches are per-channel and 30-minute TTL.
  5. For iMessage, send to a fresh recipient. iOS doesn't expose the LinkPresentation cache, so existing chats stay broken until they fall out of LRU naturally.

This sequence takes 90 seconds and should be the very first thing you do after pushing a fix. Trying to "warm" the cache by sharing the URL on the platforms themselves is a worse version of this — it locks in whatever current state exists, including the broken state.

What about A/B testing OG images?

Possible, but harder than it looks. The platforms cache aggressively, which means you can't just rotate the image and measure. The pragmatic options:

If you don't have meaningful traffic yet, skip A/B testing entirely. Get to a defensible baseline first using the best-practices guide, then iterate once you have enough shares per week to detect a real effect.

The 30-second mental model

If you remember nothing else from this post, remember this:

Test on Twitter, LinkedIn, Facebook, Slack, and iMessage in that order. Force-refresh after every fix. The bug you didn't catch on Slack is the bug your readers will see.

Five tools, ten minutes, no surprises on launch day. Worth it every time.

Skip the design step entirely

Our free OG Image Generator outputs validator-ready 1200 × 630 PNGs under 300 KB. Eight built-in templates, eight color presets, all with safe-zone padding pre-set. Type your headline and download.

Generate an OG image →