Guide8 min read

Pinterest Open Graph Tags and Rich Pins: The Developer Guide

How Pinterest uses Open Graph tags, what Rich Pins are and how to enable them, exact image specs for Pinterest Pins, and how to validate your tags before publishing.

Pinterest is one of the largest visual discovery platforms in the world, driving significant referral traffic for e-commerce, recipes, travel, and editorial content. When someone saves a link to Pinterest — creating a Pin — the image, title, and description all come from your Open Graph tags. Get them wrong and your Pins look broken, uncategorized, or simply never get saved in the first place. This guide covers exactly what Pinterest reads, how Rich Pins work, and the exact tags you need.

How Pinterest Crawls Your Pages

Pinterest's crawler is called Pinterestbot. It fetches your page server-side and reads the Open Graph tags present in the static HTML — the same fundamental approach used by Telegram and Slack. Tags injected by JavaScript after page load are not reliably read. Your og: tags must be present in the initial HTML response.

When a user saves a URL to Pinterest (creating a Pin), Pinterestbot fetches the page, extracts og:title, og:description, og:image, and og:url, and uses those to populate the Pin. If OG tags are missing, Pinterest falls back to the page title tag and attempts to find a usable image — often picking the wrong one.

Core OG Tags Pinterest Reads

  • og:title — the Pin title. Pinterest displays up to 100 characters before truncating.
  • og:description — the Pin description. Pinterest shows approximately 500 characters.
  • og:image — the primary Pin image. Must be an absolute HTTPS URL.
  • og:image:width and og:image:height — always include so Pinterest can render without a second fetch.
  • og:url — canonical URL. Pinterest uses this for deduplication; Pins with the same og:url are grouped.
  • og:type — set to "website" for general pages, "article" for blog posts, "product" to unlock product Rich Pins.
  • og:site_name — your brand name, displayed as the source label on the Pin.
<!-- Minimum OG tags for a good Pinterest Pin -->
<meta property="og:title" content="Your Page Title — Under 100 Characters" />
<meta property="og:description" content="A compelling summary. Pinterest shows approximately 500 characters." />
<meta property="og:image" content="https://example.com/og-image.jpg" />
<meta property="og:image:width" content="1000" />
<meta property="og:image:height" content="1500" />
<meta property="og:url" content="https://example.com/your-page" />
<meta property="og:type" content="website" />
<meta property="og:site_name" content="Your Brand Name" />

Pinterest Image Requirements

Pinterest is a visual platform — the image is by far the most important element of a Pin. Pinterest's preferred aspect ratio is 2:3 (portrait), not the 1.91:1 landscape format used by most other platforms. A landscape image will not be rejected, but it will render with whitespace padding or cropped in feed contexts, significantly reducing engagement.

  • Recommended size: 1000×1500px at 2:3 ratio (portrait)
  • Minimum recommended: 600×900px
  • Minimum accepted: 200×300px — images below this may not be displayed
  • Maximum aspect ratio: 1:2.1 — taller images are cropped at the bottom in feed
  • Square images (1:1) also work but underperform portrait in Pinterest feed
  • Landscape images (1.91:1) are penalized in feed ranking — use portrait when possible
  • Max file size: 20MB (under 5MB recommended for fast loading)
  • Formats: JPEG, PNG, WebP, GIF (static). AVIF has inconsistent support.
  • Protocol: HTTPS required — HTTP image URLs are blocked
  • Access: publicly accessible with no authentication or bot-blocking
TipIf you currently use a single 1200×630px landscape OG image across all platforms, consider serving a Pinterest-specific portrait image at 1000×1500px for Pins. The og:image tag will need to point to the portrait version for best Pinterest performance.

What Are Rich Pins?

Rich Pins are an enhanced Pin format that pulls structured metadata directly from your page and syncs it automatically when your content changes. There are three active types: Product, Recipe, and Article. Rich Pins display more information than standard Pins and receive priority in Pinterest's distribution algorithm.

  • Product Rich Pins — show real-time price, availability, and a direct link to purchase. Ideal for e-commerce.
  • Recipe Rich Pins — show ingredients, cooking time, and serving size directly on the Pin.
  • Article Rich Pins — show the headline, author, and story description. Ideal for blogs and editorial content.

How to Enable Rich Pins

Rich Pins require two steps: add the correct structured metadata to your pages, then apply to Pinterest for Rich Pin validation.

Step 1: Add the Metadata

Pinterest supports two metadata formats: Open Graph tags (og: namespace) and Schema.org JSON-LD. JSON-LD is the modern recommended approach. OG tags still work for Article and Product types.

For Article Rich Pins using Open Graph:

<!-- Article Rich Pin — Open Graph approach -->
<meta property="og:type" content="article" />
<meta property="og:title" content="Your Article Title" />
<meta property="og:description" content="Article summary for the Pin description." />
<meta property="article:published_time" content="2026-05-29T09:00:00Z" />
<meta property="article:author" content="https://example.com/author/name" />

For Product Rich Pins using Schema.org JSON-LD (recommended):

<!-- Product Rich Pin — Schema.org JSON-LD approach -->
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Your Product Name",
  "description": "Product description shown on the Pin.",
  "image": "https://example.com/product-image.jpg",
  "url": "https://example.com/product/slug",
  "brand": { "@type": "Brand", "name": "Brand Name" },
  "offers": {
    "@type": "Offer",
    "price": "49.00",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock"
  }
}
</script>

Step 2: Apply for Rich Pin Validation

Once your metadata is deployed, go to the Pinterest URL Debugger at developers.pinterest.com and enter a URL from your site. Pinterest will validate your tags and, if correct, enable Rich Pins for your entire domain automatically. The validation is domain-wide — you apply once, not per page.

TipRich Pin validation can take up to 24 hours to propagate after approval. Existing Pins are not retroactively updated — only newly saved Pins will show Rich Pin data.

Product Rich Pins: Full Tag Reference

For e-commerce pages, use OG tags for the Pin preview and Schema.org for Rich Pin data:

<!-- OG tags for Pin image, title, description -->
<meta property="og:title" content="Premium Wireless Headphones — Brand Name" />
<meta property="og:description" content="40-hour battery, active noise cancellation, foldable design. Free shipping." />
<meta property="og:image" content="https://example.com/headphones-pin.jpg" />
<meta property="og:image:width" content="1000" />
<meta property="og:image:height" content="1500" />
<meta property="og:url" content="https://example.com/products/wireless-headphones" />
<meta property="og:type" content="product" />
<meta property="og:site_name" content="Brand Name" />

<!-- Schema.org JSON-LD for Product Rich Pin -->
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Premium Wireless Headphones",
  "description": "40-hour battery, active noise cancellation, foldable design.",
  "image": "https://example.com/headphones-pin.jpg",
  "url": "https://example.com/products/wireless-headphones",
  "brand": { "@type": "Brand", "name": "Brand Name" },
  "offers": {
    "@type": "Offer",
    "price": "149.00",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock",
    "url": "https://example.com/products/wireless-headphones"
  }
}
</script>

Pinterest and robots.txt / nopin

Pinterest respects two mechanisms for opting pages out of being Pinned:

  • nopin meta tag — add <meta name="pinterest" content="nopin" /> to any page you want to block from being saved. Users who try to Pin the page will see a message that the site owner disabled Pinning.
  • robots.txt — block Pinterestbot specifically with: User-agent: Pinterestbot followed by Disallow: /private-path/ to prevent crawling of specific paths.
  • data-pin-nopin attribute — add data-pin-nopin="true" to individual img elements to prevent that specific image from appearing in the Pinterest browser extension save picker.

Pinterest Cache and Metadata Refresh

Pinterest caches Pin metadata after the initial save. When you update OG tags, existing Pins do not automatically update. To refresh a Pin's metadata:

  • Use the Pinterest URL Debugger at developers.pinterest.com — enter your URL to trigger a fresh fetch and see what Pinterest currently reads.
  • Re-save the Pin — after metadata is updated and validated, re-saving the URL creates a new Pin with fresh data.
  • Wait for natural re-crawl — Pinterest re-crawls popular URLs periodically, but timing is not guaranteed.

Common Pinterest OG Tag Mistakes

  • Using a landscape image — 1.91:1 images are displayed with heavy padding or cropped, reducing click-through rates.
  • Missing og:image:width and og:image:height — Pinterest may skip rendering the image if it cannot determine dimensions without a secondary fetch.
  • OG tags injected by JavaScript — Pinterestbot reads static HTML only. Server-render all meta tags.
  • Image URL on HTTP — Pinterest blocks non-HTTPS image URLs.
  • og:description over 500 characters — content beyond this is truncated in the Pin display.
  • No og:url set — without a canonical URL, Pinterest cannot group saves of the same page, splitting share counts.
  • Not applying for Rich Pins after adding Schema.org — metadata alone does not activate Rich Pins. You must complete the validation step.

Validating Pinterest OG Tags with OGProof

Use OGProof to verify your Pinterest-facing tags before publishing. OGProof fetches your page server-side (the same way Pinterestbot does), confirms OG tags are present in static HTML, validates that the image URL is HTTPS and accessible, and checks that dimensions are declared. Run any URL through OGProof to catch issues before a Pin gets saved with broken metadata.

Pinterest OG Tag Checklist

  • og:title — present, under 100 characters to avoid truncation
  • og:description — present, under 500 characters for full display
  • og:image — absolute HTTPS URL, 1000×1500px (2:3 portrait) for best feed performance
  • og:image:width and og:image:height — always include explicit dimensions
  • og:url — canonical HTTPS URL; enables Pinterest to group saves by page
  • og:type — set to "product" for e-commerce, "article" for blog posts
  • og:site_name — your brand name as the Pin source label
  • OG tags present in server-rendered HTML — not injected by JavaScript
  • Image is publicly accessible — no auth, no bot-blocking middleware
  • robots.txt does not block Pinterestbot for pages you want Pinnable
  • Schema.org JSON-LD added for Product or Recipe Rich Pins
  • Rich Pin validation completed at the Pinterest URL Debugger
  • Validate with OGProof to confirm tags are in static HTML and image is accessible

Validate your OG tags now

Paste any URL and see exactly how it renders on Twitter, LinkedIn, Facebook, Discord, Slack, and iMessage — in seconds.

Try OGProof free →