Link preview (Open Graph) checker
How a link to your site will look in Telegram, WhatsApp, VK, Facebook, X, LinkedIn and Slack: title, description, image and where they get cut. Tag checks with rule IDs and a ready, corrected <head> block.
Free, no sign-up
Loading the tool…
How it works
Tags from HTML, fields or your own site
Paste the page source (Ctrl+U → copy) or just the <head>, fill in the fields by hand, or grab the tags from an open page with one console line. Browsers cannot read other sites directly (CORS), and we will not route your URLs through our server — hence this approach.
Parsing without execution
HTML is parsed with DOMParser: such a document is inert — scripts do not run, images, styles and fonts do not load. Title, meta (property and name), link rel=canonical and the <html> language are read.
Previews for 7 platforms
For each platform — which tags it reads and in what order, where it cuts the title and description, how it crops the image and when it shows a thumbnail. Light and dark themes.
Checks and ready tags
25 rules with IDs and levels; a corrected meta tag block (escaped, relative URLs → absolute, http → https, locale → en_US format) and a metadata object for the Next.js App Router.
Standards and platform requirements
- Open Graph (ogp.me): required properties are og:title, og:type, og:image and og:url; og:locale uses the language_TERRITORY format (default en_US); an image may have og:image:width, og:image:height and og:image:alt; a repeated og:image is a valid array, a repeated og:title is a markup error.
- Twitter/X Cards: twitter:card = summary (a 1:1 square) or summary_large_image (a large 2:1 image); without twitter:title/description/image, X uses the og: values. Since 2026 X's documentation pages require signing in — the values match the last public version.
- Source links are listed in the table; inside the tool they are clickable under “Platform requirements”.
Telegram
- Image
- No official requirements; shown in original proportions
- Crop
- original proportions
- Thumbnail
- A small thumbnail on the right if the image is narrow or small (< ~400 px)
- Title / description before truncation
- ≈70 / ≈200
- Source
- https://core.telegram.org/constructor/webPage
- Image
- File ≤ 600 KB, width ≥ 300 px, ratio no wider than 4:1; <head> within the first 300 KB of HTML
- Crop
- 1:1 (миниатюра) / 1.91:1
- Thumbnail
- A square thumbnail on the left; large for wide images from ~600 px
- Title / description before truncation
- ≈65 / ≈90
- Source
- https://developers.facebook.com/docs/whatsapp/link-previews
VK
- Image
- At least 537×240 px for a post with a link
- Crop
- ≈2.24:1 (537×240)
- Thumbnail
- Images under 537×240 are shown small or not at all
- Title / description before truncation
- ≈80 / not shown
- Source
- https://vk.com/faq20585
- Image
- Recommended 1200×630 or larger, minimum 200×200, large from 600×315, file ≤ 8 MB
- Crop
- 1.91:1
- Thumbnail
- Under 600×315 — a small thumbnail instead of a large image
- Title / description before truncation
- ≈88 / ≈110
- Source
- https://developers.facebook.com/docs/sharing/webmasters/images/ · https://ogp.me/
X (Twitter)
- Image
- summary_large_image: 2:1, 300×157 to 4096×4096; summary: 1:1, from 144×144; file < 5 MB; JPG, PNG, WEBP, GIF
- Crop
- 2:1 / 1:1 (summary)
- Thumbnail
- twitter:card = summary — a 1:1 square on the left; summary_large_image — a large 2:1 image
- Title / description before truncation
- ≈70 / ≈200
- Source
- https://developer.x.com/en/docs/x-for-websites/cards/overview/summary-card-with-large-image · https://developer.x.com/en/docs/x-for-websites/cards/overview/summary
- Image
- At least 1200×627, ratio 1.91:1, file ≤ 5 MB
- Crop
- 1.91:1
- Thumbnail
- Images under 401 px wide become a thumbnail
- Title / description before truncation
- ≈70 / not shown
- Source
- https://www.linkedin.com/help/linkedin/answer/46687
Slack
- Image
- No official sizes; the bot checks the image is reachable
- Crop
- original proportions
- Thumbnail
- twitter:card = summary — a thumbnail on the right; otherwise the image below the text
- Title / description before truncation
- ≈75 / ≈300
- Source
- https://api.slack.com/robots
One image that works everywhere: 1200×630 px (1.91:1), JPG or PNG under 600 KB — it meets Facebook and LinkedIn requirements and the WhatsApp limit. Below 200×200 px an image is treated as an error.
OG-01
- Level
- error
- Rule
- No og:title — platforms fall back to <title> or the URL
OG-02
- Level
- warning
- Rule
- No og:description
OG-03
- Level
- error
- Rule
- No og:image — the card has no image
OG-04
- Level
- warning
- Rule
- No og:url — the canonical address for likes and cache
OG-05
- Level
- error
- Rule
- og:image is relative; an absolute https://… URL is required
OG-06
- Level
- warning
- Rule
- An http:// URL — use https://
OG-07
- Level
- error
- Rule
- The URL cannot be parsed or is not http(s)
OG-08
- Level
- warning
- Rule
- The image is smaller than the recommended 1200×630
OG-09
- Level
- error
- Rule
- The image is below the 200×200 minimum
OG-10
- Level
- warning
- Rule
- The ratio is far from 1.91:1 — the image will be cropped
OG-11
- Level
- hint
- Rule
- Title length: under 15 or over 60 characters
OG-12
- Level
- hint
- Rule
- Description length: under 50 or over 160 characters
OG-13
- Level
- warning
- Rule
- No twitter:card — X shows a small card
OG-14
- Level
- warning
- Rule
- A single-value tag is repeated — platforms may pick different values
OG-15
- Level
- warning
- Rule
- canonical and og:url differ
OG-16
- Level
- warning
- Rule
- og:locale is not language_TERRITORY (en_US)
OG-17
- Level
- warning
- Rule
- The URL has spaces or non-ASCII characters without encoding
OG-18
- Level
- hint
- Rule
- No og:image:alt — no image description for screen readers
OG-19
- Level
- hint
- Rule
- No og:type — defaults to website
OG-20
- Level
- hint
- Rule
- twitter:site should be @handle
OG-21
- Level
- warning
- Rule
- The image file is over 5 MB (X and LinkedIn limit)
OG-22
- Level
- hint
- Rule
- The file is over 600 KB — WhatsApp may not show the image
OG-23
- Level
- hint
- Rule
- No og:site_name — the domain is shown instead of the site name
OG-24
- Level
- warning
- Rule
- Unknown twitter:card value
OG-25
- Level
- warning
- Rule
- Open Graph tags sit beyond the first 300 KB of HTML — WhatsApp will not see them
Limitations
- The tool does not download pages by URL: only what you paste or fill in. If tags are added by a script after load (an SPA without server rendering), they are not in “View source” — and most platforms will not see them either.
- Image size is checked when it is known: from og:image:width/height, your file, or the loaded image (with consent). File weight — only for a file from your device.
- Loading other sites' images may be blocked by the image server or this page's security policy — the preview then shows a placeholder, and you can check the size with a file from your device.
- Platforms cache previews: after you fix the tags, the old card may stay until the cache is cleared (Facebook and LinkedIn debuggers, @WebpageBot in Telegram).
- Truncation limits are guidelines: line length depends on screen width and characters (Cyrillic and Latin letters differ in width).
Privacy
- Everything runs in your browser: HTML and fields are never sent to a server and never appear in the page address. Only a short summary of the result can go with a request: the domain, tag names, findings and image size.
- The draft (HTML, fields, page address, preview theme) is stored only in this browser's localStorage; “Clear all” deletes it. The image file is neither saved nor uploaded — it lives in the tab's memory.
- Loading preview images from the internet is off by default: it is a request to someone else's server (which sees your IP). The request is sent without a referrer; consent is not remembered between visits.
- Analytics receives only the fact of a check or export with the result category (errors / warnings / clean) or format — none of your data.
- The result reaches us only if you send a request yourself and keep the “Attach the result” box ticked — the form shows exactly what will be sent. Files and images are never sent with a request.
Related tools
All tools · 40
Image compressor (WebP/AVIF)Drop images in — WebP, AVIF or JPEG by quality or a target size in KB, a 1:1 before/after slider, srcset and <picture>, batch ZIP. All in the browser.
JSON, YAML and CSV converterConvert between JSON, YAML and CSV with formatting, key sorting, syntax errors pinned to the exact spot, and a data tree.
Regex testerMatches and groups highlighted as you type, replace, a step-by-step breakdown of the pattern, a library of ready patterns and freeze protection.
Cron expression helperA cron expression ↔ plain language, the next runs in your time zone, a schedule builder and variants for Linux, Quartz, GitHub Actions and Kubernetes.
Base64, hashes, UUID and ULIDBase64/base64url, Base32, HEX, URL and HTML both ways, hashes of text and files of any size (SHA-256, SHA-3, BLAKE3, MD5, CRC-32), HMAC, checksum verification, generating and inspecting UUID v4/v7, ULID and NanoID.Need a site people enjoy sharing?
Website development with well-made previews, metadata and SEO from the first release. The price comes after a brief; the first conversation about your task is free.
- The first short conversation is free — we choose the format
- NDA — yours or ours
- Pricing after a brief and an agreed scope