The search result
Title length against the 30 to 60 character window, description against 70 to 160, the canonical, and whether a stray noindex is quietly keeping the page out of Google altogether.
Browse by category
All categoriesBrowse by platform
All platformsResources
Latest postsFree tool
Paste a URL. You get the card as it will actually render on X, LinkedIn, Slack and Discord, a pass or fail on every tag that matters, and the corrected markup to paste back into your head.
What it checks
Fourteen checks across the search result, the Open Graph set, the X card and the icon, each one with the corrected markup rather than a complaint.
Title length against the 30 to 60 character window, description against 70 to 160, the canonical, and whether a stray noindex is quietly keeping the page out of Google altogether.
We measure the real file: content type, weight, and pixel dimensions read from the image header. An SVG card image is called out, because every one of these networks refuses it and no card renders at all.
X, LinkedIn, Slack and Discord all truncate differently and LinkedIn drops the description entirely. Seeing all four together is usually what makes the fix obvious.
Method
We fetch the page once, with a browser User-Agent, a 10 second timeout and a 1MB ceiling on the response. Many marketing pages serve something different to anything that looks like a crawler, so asking for the page the way a browser does is the only way to see what a person sees.
The head is then read for the title, meta description, canonical, robots meta, icon links, the full og: set and the full twitter: set. The card image is measured separately: a HEAD request for its type and weight, then a ranged request for the first 128KB, from which the pixel dimensions are read straight out of the PNG, JPEG, GIF or WebP header. Nothing is decoded and the whole image is never downloaded.
The thresholds are the ones that actually bite. Title 30 to 60 characters, because that is what Google shows without truncating. Description 70 to 160. og:image present, absolute and either 1200 by 630 or the same 1.91 to 1 ratio, because every network crops to it. twitter:card set to summary_large_image, without which X shows a small square thumbnail no matter how wide your image is. Canonical absolute and self-referencing. An icon link present, because the fallback is the first letter of your domain.
Every check that loses a point comes with the corrected tag, and the whole corrected head block is at the bottom of the report. Nothing is stored: the URL is in the address bar and that is the only copy.