🔗 Open Graph Generator

⭐ Presets

Apply pre-fills every form field with a curated example. Edit afterwards.

📝 Core properties

{{ titleLength }} / 60 recommended
{{ descriptionLength }} / 65 recommended

🏷️ og:type

Selecting a non-website type reveals the matching sub-properties below.

📰 article:* properties

📚 book:* properties

👤 profile:* properties

🎬 video:* properties

🎵 music:* properties

📱 Social card preview (Facebook / Twitter)

No og:image — Facebook will fall back to a guessed thumbnail.
{{ previewHost || 'example.com' }}
{{ preview.title || 'Page title' }}
{{ preview.description || 'Page description' }}
{{ preview.siteName }}

Purely visual. No external request is made — this is what the share crawler will assemble from your tags.

📤 Open Graph meta block

{{ output }}
Fill in og:title and og:description to generate the meta block.

⚠️ Validator notes

  • {{ w }}
⚠️

ℹ️ About Open Graph Generator

What the Open Graph protocol is

The Open Graph protocol (OGP) is the metadata vocabulary Facebook published in 2010 so that a single web page can be represented unambiguously as an object in a social graph. When Facebook, LinkedIn, Slack, Discord, X (Twitter, with its compatibility layer), iMessage, Telegram, or any other crawler fetches your page to build a share card, it looks for <meta property="og:…"> tags in the document head. Getting those tags right is the single most important SEO and social-distribution change you can make to a page.

This tool generates the complete OGP meta block from a structured form — title, description, absolute image URL, canonical page URL, optional site name and locale, plus the matching vertical sub-properties when you select article, book, profile, video.movie, or music.song as the object type. The live preview on the right simulates how Facebook (and Twitter, by compatibility) will render the share card.

The four required properties (OGP spec §2)

  • og:title — the title of the object as it should appear in the share card. Facebook truncates around 60 characters in the preview.
  • og:type — the object type. Defaults to website when not provided. Valid values include article, book, profile, music.song, video.movie, and product.
  • og:image — an absolute URL to an image used in the share card. Relative paths are rejected by every social crawler. Recommended dimensions are 1200×630 (1.91:1).
  • og:url — the canonical, permanent URL of the page. Used as the identity of the object in the graph; should not contain session IDs or tracking parameters.

Recommended extras

  • og:description — a 1–2 sentence summary shown under the title in the share card. Around 65 characters is the safe display ceiling on Facebook’s preview before the trailing ellipsis appears.
  • og:site_name — a short, human-readable name for the overall website (e.g. Example Engineering Blog). Renders below the title in many UIs.
  • og:locale — an IETF BCP 47 language tag (RFC 5646), commonly written with an underscore separator in OGP (en_US, fr_FR, pt_BR) for legacy Facebook compatibility.

Object types and their sub-namespaces

  • article — adds article:author, article:published_time, article:modified_time, article:section, and repeating article:tag entries.
  • book — adds book:author, book:isbn, book:release_date, and repeating book:tag entries.
  • profile — adds profile:first_name, profile:last_name, profile:username, and profile:gender.
  • video.movie / video.tv_show / video.episode — adds video:actor, video:director, video:duration (in seconds), and video:release_date.
  • music.song / music.album — adds music:duration, music:album, and music:musician.

Common mistakes the validator catches

  • Relative og:image. Facebook, Slack, and LinkedIn reject /static/og.png; the image URL must include the scheme.
  • Missing og:url. The crawler uses it as the canonical identity of the object — leave it out and re-shares may collapse separate URLs into one object.
  • Unknown og:type. Anything not in the OGP vocabulary silently falls back to website, losing the vertical-specific render in the share card.
  • Title longer than ~60 characters. Title gets truncated mid-word in the share card; the validator flags lengths likely to be cut off.
  • Locale not in BCP 47 form. Values like english or us are ignored by Facebook’s scraper.

Source references

Examples

A minimal article block looks like this:

<meta property="og:title" content="How HTTP/3 Changes the Web">
<meta property="og:type" content="article">
<meta property="og:description" content="A practical overview of HTTP/3 and QUIC.">
<meta property="og:image" content="https://example.com/og/http3.png">
<meta property="og:url" content="https://example.com/blog/http3">
<meta property="article:author" content="Jane Doe">
<meta property="article:published_time" content="2024-09-12T08:30:00Z">

API Usage Example:

POST /api/tools/seo/open-graph-generator
Content-Type: application/json

{
    "title": "How HTTP/3 Changes the Web",
    "description": "A practical overview.",
    "image": "https://example.com/og/cover.png",
    "url": "https://example.com/blog/http3",
    "type": "article",
    "article": {
        "author": "Jane Doe",
        "publishedTime": "2024-09-12T08:30:00Z"
    }
}
Ready