About the Handiwork Opengraph Checker
The Opengraph Checker fetches a URL on the server, reads its <title>, meta description, Open Graph (og:*), and Twitter Card (twitter:*) tags, and shows a checklist of what was found, what’s missing, and what to fix. It also renders an approximate preview of how the link might look when shared on Facebook, LinkedIn, X (Twitter), and in a Google search result.
How to use the Handiwork Opengraph Checker
- Enter a URL, or select one of the example sites to see the tool in action.
- Review the found / needs attention / missing summary and the full tag checklist.
- Switch between the Facebook, X, and Google preview tabs to see how the shared link might appear.
- Copy the raw tags to compare against your page’s actual HTML, or fix and re-check.
Why the page is fetched on the server, not in your browser
Link-preview crawlers (Facebook, LinkedIn, Slack, Discord, X) read the raw HTML your server sends, before any client-side JavaScript runs. A browser-only checker would see the page after your own scripts execute, which can hide problems that real crawlers actually encounter — such as tags that are only added by JavaScript. Fetching server-side, with a normal browser-like User-Agent and no cookies or credentials, gives a closer approximation of what those crawlers see.
What the tag checklist looks for
The checklist covers the four required Open Graph properties (og:title, og:type, og:image, og:url) plus og:description, og:site_name, twitter:card and its related tags, the page <title>, meta description, canonical link, and favicon link. Each row is marked Found, Needs attention, or Missing, with a short explanation of what that tag affects.
How length and image-size guidance is chosen
Google has stated there is no fixed character limit for title links — titles are truncated as needed to fit the device width, not a set count. The 60-character title guideline and similar description-length hints shown here are common practical heuristics used across the industry, not an official rule from any platform. The og:image size check instead uses Meta’s own published guidance for Facebook and Instagram: at least 600 × 315px, with 1200 × 630px preferred, at close to a 1.91:1 ratio.
Reading the platform previews
The Facebook & LinkedIn tab approximates a white link card using og:title, og:description, and og:image. The X tab falls back from twitter:* tags to the equivalent og:* tags when a twitter:* tag is missing, following the widely used convention of treating Open Graph tags as the baseline that Twitter Card tags override. The Google tab approximates a search snippet from the page title and meta description — Google may still rewrite either one based on the query and page content, so this tab is illustrative rather than a guarantee of what will be shown in search results.
Fixing common problems
A missing og:image usually means the shared link falls back to plain text with no card at all on most platforms. A missing og:url can cause likes and shares to be attributed to the wrong canonical page. A missing twitter:card is usually harmless since X falls back to the Open Graph tags, but an invalid twitter:card value (anything other than summary, summary_large_image, app, or player) is typically ignored.
Continue this workflow
Use the adjacent tool when the next step calls for a different input, output, or method.
Assumptions and limitations
- The request is made from our server with a generic User-Agent and no cookies, so pages that require login, geofencing, or a specific crawler User-Agent to render content may look different here than they do to a real platform.
- Tags added only by client-side JavaScript after the initial HTML response are not seen, matching how most link-preview crawlers behave, but this can differ from what a full browser render shows.
- The platform preview tabs are approximate simulations. Actual card appearance varies by app version, cached data, device, and each platform’s own rules, and can change without notice.
- Only the first 2 MB of the response body is read; extremely large pages may have tags beyond that point missed.
- Requests to non-default ports, and to hostnames that resolve to private, loopback, or link-local addresses, are blocked and cannot be checked.
- A successful check confirms which tags exist and their content — it does not confirm that a specific platform has already cached an older version of the page.
Sources and standards
These authoritative references were used to verify the method and guidance on this page.
Frequently asked questions
Does this tool send my URL or any data anywhere besides Handiwork?
Your server only fetches the URL you provide, the same way a link-preview crawler would. No cookies or login data are sent, and the parsed tags are returned to your browser and not stored.
Why does the checker fetch the page instead of reading it in my browser?
Real link-preview crawlers read the raw server-rendered HTML, not the page after your browser’s JavaScript runs. Fetching server-side gives a closer approximation of what those crawlers actually see, including cases where tags are missing from the initial HTML.
Why can’t I check a localhost or internal URL?
Requests to hostnames that resolve to private, loopback, or link-local network addresses are blocked for security, since this endpoint fetches URLs on a shared server. Deploy the page somewhere publicly reachable first, or paste its HTML source into an editor to inspect tags manually.
The preview cards don’t exactly match what I see when I share the link. Why?
The preview tabs are an approximate simulation. Real platforms cache previews (sometimes for days), apply their own cropping and truncation rules, and can change their card design without notice — this tool shows what the tags say, not a live render from that platform.
What does a missing twitter:card tag mean?
By widely followed convention, X (Twitter) falls back to the equivalent og:title, og:description, and og:image tags when twitter:* tags are absent, so a card can often still appear. Adding twitter:card explicitly gives more predictable control over the card type.
Why is my og:image marked as too small?
The size check applies Meta’s published guidance for Facebook and Instagram link previews — at least 600 × 315px, with 1200 × 630px preferred — which only appears when the page also declares og:image:width and og:image:height.