Pinterest Link Preview Checker
A rich Pin copies title, price, or recipe fields from the page behind it. Paste your URL to check the Open Graph tags that article and product Pins require. The cards below are the other platforms that read the same tags — Peekly does not draw a Pin.
How a rich Pin is filled in
- Article, recipe, then product. Pinterest's rich Pin docs describe three types. Article Pins add a headline, a description, and an author. Recipe Pins add a title, ingredients, cook time, yield, and ratings. Product Pins add price, availability, and the product name. If a page is marked up as more than one type, the developer docs rank them product, then recipe, then article. The business help says an article is a page of text, such as a news story or a blog post, and that a listicle or a page of images with little text is not an article. Article Open Graph requires og:type set to article or blog, plus og:title and og:description. og:site_name, og:url (or a canonical link), and og:image are optional, and you can publish up to six og:image tags. article:published_time and article:author are optional. Recipe markup is Schema.org Recipe or h-recipe, not an og:type. Schema.org requires name and ingredients, with each ingredient in its own tag. h-recipe requires p-name and p-ingredient. Ratings are Schema.org only, and the help says they show on iOS and Android. Product Open Graph requires og:type set to product or og:product, og:title, product:price:amount with no currency symbol, and product:price:currency as an ISO 4217 code. og:description and og:image are optional. og:availability accepts instock, preorder, backorder (or pending), out of stock, and discontinued. The business help says a product Pin only shows that data when the product is in stock, the price is current, and the site meets Pinterest's merchant guidelines. The product has to be buyable on your site. Etsy, Teachers Pay Teachers, and eBay are called out as hosts that need no markup of their own. Schema.org is the other accepted format for articles and products. If you use it, still set og:site_name, because Schema.org has no site-name property.
<meta property="og:type" content="article" /> <meta property="og:title" content="Article title" /> <meta property="og:description" content="One or two sentences." /> <meta property="og:url" content="https://example.com/story" /> <meta property="og:site_name" content="Example" /> <meta property="og:image" content="https://example.com/og.png" /> <meta property="og:type" content="product" /> <meta property="og:title" content="Copper bookmark" /> <meta property="product:price:amount" content="15.00" /> <meta property="product:price:currency" content="USD" /> - The picture and the metadata are different. The image in the feed is the image that was saved as the Pin. Rich Pin metadata is the extra text above and below that image. The rich Pin docs call og:image optional and say only that it should be high resolution. They do not publish a pixel size for it. Pinterest's Pin specs, which cover the file you upload, allow BMP, JPEG, PNG, TIFF, and WEBP, with a 20 MB maximum on the web, a title of up to 100 characters, and a description of up to 800. The ad specs recommend a 2:3 image, 1000×1500, and say a taller image can be cropped in the feed. That ratio is for the Pin image people see while scrolling. It is not a requirement the rich Pin docs attach to og:image. A 1200×630 Open Graph image still matters for every other platform, and this checker measures that file. It will not look like a full-bleed Pin. To stop rich data on one page, add meta name="pinterest-rich-pin" content="false". That tag leaves ordinary saves alone. meta name="pinterest" content="nopin" is the other tag: it blocks saving from the page, and Pinterest's help shows a default message when someone tries. nopin="nopin" on an img blocks that one image. The two tags do different jobs.
- Pinterestbot. Pinterest's help describes Pinterestbot as the crawler that indexes public pages and scrapes the page behind an existing Pin so the title, description, price, and availability stay current. It also drops Pins whose links are broken. The published user agents are Pinterest/0.2 (+https://www.pinterest.com/bot.html), Mozilla/5.0 (compatible; Pinterestbot/1.0; +https://www.pinterest.com/bot.html), and a longer mobile string that also contains Pinterestbot/1.0. It honors robots.txt on the main domain. Pinterest says it does not read a robots.txt on a subdomain. Crawl-delay is honored up to 1 second, and a larger value is treated as 1. A Disallow of / stops the crawl of the whole site, which also stops rich data from being refreshed. Pinterest says not to hard-code its IP range, because the addresses change, and to verify a suspicious client with a reverse DNS lookup that ends in pinterest.com or pinterestcrawler.com. The business help says pages with the correct tags become rich Pins when a new Pin is created, and that existing Pins pointing at those pages pick up the data too. Allow up to 24 hours. A manual edit of an article or recipe Pin overwrites the synced fields. The developer overview still mentions applying for rich Pins. The current business help does not describe an application form and does not link a validator. Save a Pin and look for the extra fields, or read the tags with the checker above. This checker sends its own user agent. It does not impersonate Pinterestbot, and it does not grade product:price:amount. Read that tag in the page source.
- When the pin URL is what gets shared. A public pin page on pinterest.com sends its own Open Graph tags for every other app. On a live pin those were og:site_name Pinterest, og:title, og:description, og:type pinterestapp:pin, og:url, and og:image pointing at i.pinimg.com, with og:image:width and og:image:height. Twitter title, description, and image tags repeated the same text and file. You do not edit those tags. The title and description are the Pin's, and the image is the file Pinterest stored. Paste the pin URL here to see the card other platforms will build from that HTML. Paste your own page when the question is what Pinterestbot can scrape.
Tags covered: og:type · og:title · og:description · og:image · og:site_name · og:url · product:price:amount · product:price:currency
More checkers
Twitter Card ValidatorOpen Graph CheckerLinkedIn Link Preview CheckerDiscord Embed PreviewWhatsApp Link Preview CheckerSlack Link Preview CheckeriMessage Link Preview CheckerFacebook Link Preview CheckerOpen Graph Image SizeTelegram Link Preview CheckerReddit Link Preview CheckerNext.js Open GraphRefresh a Link Preview CacheBluesky Link Preview CheckerMastodon Link Preview CheckerMicrosoft Teams Link Preview CheckerFix a Broken Open Graph PreviewInstagram Link Preview CheckerTikTok Link Preview CheckerYouTube Link Preview CheckerAll platforms
What each platform reads
- X / Twittertwitter:card, twitter:* → og:* fallback1200×630 (min 300×157), < 5 MB
- Facebookog:title, og:description, og:image1200×630, 1.91:1
- LinkedInog:title, og:image (og: only)1200×627, 1.91:1
- Discordog:site_name, og:*, theme-color, twitter:cardLarge image needs summary_large_image
- Slackog:site_name, og:title, og:description, og:image1200×630
- WhatsAppog:title, og:description, og:imageKeep < 300 KB
Guidance based on each platform's public documentation and observed behavior. Platforms change their rules without notice.
FAQ
+Is Peekly free?
Yes. Checking a single URL is free forever — no signup and no limit on one-off checks. Batch watching and monitoring may arrive later as a paid Pro plan; the free single-URL tool stays.
+Why does my link show no image when I share it?
Usually one of four things: there's no og:image tag, the image URL is relative instead of absolute, the image is behind a login, firewall or bot block, or the file is too big or in an unsupported format like SVG. Peekly checks all four and tells you which one it is.
+What size should my og:image be?
1200×630 pixels (a 1.91:1 ratio) as a PNG or JPG under about 300 KB. That size works for large cards on X, Facebook, LinkedIn, Discord, Slack and WhatsApp.
+Do I need twitter: tags if I already have Open Graph tags?
X reads og:title, og:description and og:image as fallbacks, but you still need twitter:card set to summary_large_image if you want the big image card. Without it, X shows a small thumbnail.
+I fixed my tags but the old preview still shows. Why?
Platforms cache link previews, sometimes for days. Facebook and LinkedIn let you force a refresh with their own debugging tools. On X, Slack and Discord the cache usually expires on its own, or you can add a query string such as ?v=2 to the URL.
+Do you store the pages I check?
No. We fetch the page once to read its <head>, show you the result, and don't save the page or the result. We only fetch public http(s) URLs, and private or internal addresses are blocked.
+Are the previews pixel-perfect?
They're close approximations of each platform's current card layout, built from the same tags the platforms read. Platforms change their designs from time to time, so treat them as a very good guide rather than a screenshot.
$9
One time
A written fix for the batch.
Up to 25 URLs. We check og:image, Twitter cards, size, redirects, and cache, then send copy-paste meta tags within 48 hours. The free single-URL check stays free.