Open Graph & Meta Tag Generator
Generate Open Graph, Twitter Card & SEO meta tags with a live Google, Facebook & X preview. 100% free, in-browser, no signup — copy & paste the code.
Import from existing <head> (parsed locally, nothing uploaded)
Built and reviewed by developers who ship Open Graph, Twitter Card and structured-data tags on production sites.
What are meta tags & Open Graph?
Meta tags are snippets of HTML in your page's <head> that describe the page to browsers, search engines and social platforms. The classic SEO tags are the <title>, the meta description and the canonical link. Open Graph tags (og:title, og:type, og:image, og:url and friends) are a protocol, originally from Facebook, that controls the title, description and image shown when your link is shared — and almost every platform reads them, including LinkedIn, Slack, Discord, WhatsApp, Pinterest and Telegram.
Twitter/X uses its own twitter:card tags but falls back to your Open Graph tags when they are missing, so a good set of OG tags plus a single twitter:card value covers every network. This generator writes all of these tags, adds optional JSON-LD structured data, and previews the result live — so you never have to hand-write them or guess how a share will look.
Social image & tag specs by platform
Open Graph (Facebook & LinkedIn)
Both read og:title, og:description, og:image and og:url. Recommended image 1200×630 (1.91:1). Facebook caches ~30 days; LinkedIn ~7 days — re-scrape with their debuggers after deploy.
X (Twitter) Card
twitter:card is required (summary_large_image or summary). X falls back to og:* for the rest. A single 1200×630 image works for both OG and X; images under 300×157 downgrade a large card to a small one.
Slack & Discord
Slack reads Twitter Card then Open Graph and can show two extra fields via twitter:label/data. Discord reads Open Graph and uniquely uses theme-color for the embed's accent bar.
WhatsApp & Telegram
WhatsApp needs og:title and og:image with the metadata near the top of the HTML; Telegram reads Open Graph and renders reliably only from JPEG or PNG images.
Pinterest Rich Pins
Pinterest reads Open Graph or Schema.org. An Article Rich Pin needs og:type=article plus article:published_time and article:author — all generated here when you pick the article type.
Google search snippet
The live desktop and mobile SERP preview measures your title and description in pixels — not just characters — so you see truncation risk before Google does.
Meta tag examples
Website homepage
Title: Acme — Ship faster Description: The all-in-one platform for modern teams. URL: https://acme.com Image: https://acme.com/og/home.png (1200×630)
<title>Acme — Ship faster</title> <meta name="description" content="The all-in-one platform for modern teams."> <link rel="canonical" href="https://acme.com"> <meta property="og:title" content="Acme — Ship faster"> <meta property="og:type" content="website"> <meta property="og:image" content="https://acme.com/og/home.png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="630"> <meta property="og:url" content="https://acme.com"> <meta name="twitter:card" content="summary_large_image">
A homepage only needs the four required Open Graph tags plus a title, description and canonical. Because the image is 1200×630 the width and height are filled in automatically, so the very first Facebook share renders instantly instead of blank.
Blog article (with article:* + JSON-LD)
og:type: article Title: The Complete Guide to Open Graph Tags Author: Ada Lovelace Published: 2026-07-15
<meta property="og:title" content="The Complete Guide to Open Graph Tags">
<meta property="og:type" content="article">
<meta property="og:image" content="https://blog.example.com/og/guide.png">
<meta property="og:url" content="https://blog.example.com/open-graph-guide">
<meta property="article:published_time" content="2026-07-15T00:00:00Z">
<meta property="article:author" content="Ada Lovelace">
<meta name="twitter:card" content="summary_large_image">
<script type="application/ld+json">{ "@type": "Article", "headline": "The Complete Guide to Open Graph Tags", "datePublished": "2026-07-15T00:00:00Z" }</script> Choosing the article type unlocks the article:published_time and article:author properties and generates matching Article JSON-LD, so search engines and Pinterest Rich Pins get structured data for free.
Twitter/X inherits Open Graph
twitter:card: summary_large_image Inherit title/description/image from OG: on
<meta name="twitter:card" content="summary_large_image"> <meta name="twitter:site" content="@acme">
X reads your Open Graph tags when the matching twitter:* tag is missing, so you only need twitter:card. The generator never emits an empty twitter:image, which would break that fallback.
How to add Open Graph tags to your site
- 1
Enter title, description & URL
Type your page title, meta description and canonical URL. The pixel meter shows whether they fit in Google's search snippet.
- 2
Add an og:image and pick the type
Paste a 1200×630 image URL and choose website, article, product or profile — the matching Open Graph fields and JSON-LD appear automatically.
- 3
Check the live previews
Switch between the Google, Facebook, X, LinkedIn, Slack and Discord tabs to see exactly how your link will look before you ship it.
- 4
Copy into your <head>
Copy the full tag block (or one section) and paste it inside the <head> of your HTML. Verify after deploy with the Facebook and LinkedIn debuggers.
Common Open Graph mistakes
Relative og:image path
A path like /cover.png works in your editor but is blank when shared, because crawlers need an absolute URL.
<meta property="og:image" content="/cover.png">
<meta property="og:image" content="https://example.com/cover.png">
Missing og:url
Without a canonical og:url, share counts split across URL variants and platforms may pick the wrong address.
<!-- no og:url -->
<meta property="og:url" content="https://example.com/page">
Image too small or wrong ratio
Facebook ignores images below 200×200 and crops anything far from 1.91:1.
600×600 og:image
1200×630 og:image (1.91:1)
Forgetting twitter:card
Even with full Open Graph tags, X renders no card unless twitter:card is set.
<!-- OG only, no twitter:card -->
<meta name="twitter:card" content="summary_large_image">
Empty twitter:image breaks fallback
An empty twitter:image stops X from falling back to og:image — omit the tag instead of leaving it blank.
<meta name="twitter:image" content="">
<!-- omit it; X uses og:image -->
Charset placed too late
The charset declaration must appear within the first 1024 bytes of the document or it is ignored.
<meta charset> after many tags
<meta charset="utf-8"> first in <head>
Common use cases
- Launching a landing page
- Generate the full head block for a new marketing page so it looks polished the moment someone shares the link on X, LinkedIn or Slack.
- Blog & article previews
- Add article:published_time, article:author and Article JSON-LD so posts qualify for Pinterest Rich Pins and rich social cards.
- Fixing a broken share
- Import your current tags, spot the missing og:image or wrong dimension in the checks panel, fix it, and re-scrape with the debugger links.
- Framework head snippets
- Copy a clean, correct tag set to drop into a static site, a CMS template, or a server-rendered head partial.
How the generator works
- Live, in-browser preview
- Every card is rendered from the values you type, never by fetching your URL. That keeps previews instant and private, and it is the only honest way to preview before a page is deployed.
- Pixel-accurate SERP meter
- Google truncates titles and descriptions by pixel width, not character count. A canvas measures your text in the same font so the meter turns amber exactly when the snippet would be cut.
- Client-side image checking
- Your og:image URL is loaded into an Image in your browser to read its real width and height, then checked against 1200×630 and the card's aspect ratio. Cross-origin images still report their size, so the check works without any upload.
- Complete, modern tag set
- Basic SEO, Open Graph, Twitter Card and JSON-LD in one block, with charset emitted first so it lands within the first 1024 bytes. Legacy tags like meta keywords are off by default.
Meta tag best practices
- Use absolute HTTPS URLs
- og:image and og:url must be full https://… URLs. Relative paths work locally but render blank when a crawler fetches the live page.
- Always set og:image:width & height
- Declaring the dimensions lets platforms lay out the card immediately, so the first share is not blank while they fetch the image asynchronously.
- Keep canonical and og:url the same
- Point both at the one canonical URL so share counts and search signals are not split across URL variants.
- Write for the pixel budget
- Aim for a title around 50–60 characters and a description around 155 — but trust the pixel meter, since Google measures width, not character count.
- Render tags server-side
- Facebook, LinkedIn, WhatsApp, Telegram and Discord crawlers do not run JavaScript, so Open Graph tags must be in the static or server-rendered HTML.
Frequently asked questions
What is a meta tag generator?
How do I add Open Graph tags to my website?
What size should an Open Graph image be?
Is the twitter:card tag required?
Do meta tags help SEO?
Does this tool upload my content or images?
Can I import meta tags I already have?
Why does my updated preview still show the old image on Facebook or LinkedIn?
Related Tools
View all tools →cURL Command Generator & Builder
Web & API
Build curl commands in your browser — set method, headers, auth, and body, get a copy-ready command instantly. Presets for Bearer, POST JSON, file upload. Free, private, no signup.
htpasswd Generator — bcrypt, Apache MD5 (apr1) & Basic Auth
Web & API
Generate htpasswd entries with bcrypt, Apache MD5 (apr1), SHA-1 & more. Get ready-to-paste Apache, nginx & Docker config. 100% in your browser — no upload.
Nginx Location Tester — Why That Block Wins
Web & API
See which nginx location block wins — and why every other block lost. Free location match tester for =, ^~, ~ and ~*, running entirely in your browser.
IPv4 Subnet Calculator
Web & API
Free IPv4 subnet calculator: enter 192.168.1.130/26 for the network address, broadcast, usable host range, netmask and wildcard, plus paste-ready Cisco and Linux config.
traceparent Decoder — W3C Trace Context
Web & API
Stop counting hex digits. Free online traceparent decoder — runs in your browser, nothing uploaded. Trace ID, span ID, all 8 trace-flags bits, tracestate check, Datadog/X-Ray/B3 conversion.
AES Decryption Tool — OpenSSL & CryptoJS Compatible
Security Tools
Decrypt AES online — GCM/CBC/CTR, passphrase or raw key, auto-detects OpenSSL & CryptoJS "U2FsdGVkX1" format. 100% in-browser, keys never leave the page.