Skip to content
Bold PilotBold Pilot

Meta Tags Generator

Title, description, canonical, Open Graph and Twitter Card — one snippet, pixel-checked.

Technical SEO guide

Every meta tag a page actually needs, in one snippet

A new page needs the same eleven or so meta tags every time — a title, a description, a canonical, and the Open Graph and Twitter Card pair that decides how it looks shared. Writing them by hand means retyping the title and description four times each and hoping the copies stay in sync. This generator takes the handful of fields that actually differ and writes the rest.

What gets generated, and why each line exists

<title>Pricing — Acme</title>
<meta name="description" content="Plans from $9/mo, no per-seat fees.">
<link rel="canonical" href="https://acme.io/pricing">
<meta property="og:title" content="Pricing — Acme">
<meta property="og:description" content="Plans from $9/mo, no per-seat fees.">
<meta property="og:url" content="https://acme.io/pricing">
<meta property="og:type" content="website">
<meta property="og:site_name" content="Acme">
<meta property="og:image" content="https://acme.io/og/pricing.png">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Pricing — Acme">
<meta name="twitter:description" content="Plans from $9/mo, no per-seat fees.">
<meta name="twitter:image" content="https://acme.io/og/pricing.png">
  • <title> and meta description — what shows up in a Google result. Measured here in pixels, not characters, the same way the SEO Title Checker does it — a title of ten wide capital letters and one of ten narrow lowercase letters take up very different space on the results page.
  • Canonical — the one URL this content should be attributed to. See the Canonical Tag Checker for what happens when this is missing or wrong.
  • og: tags — read by Facebook, LinkedIn, Slack, iMessage and most link unfurlers. twitter: tags — read by X; when absent, X falls back to the og: tags, which is why the generator always fills both from the same title and description rather than asking twice.

Fields worth getting right before copying the snippet

  • Title length— the generator flags one cut off in Google’s roughly 600px desktop display, the same threshold the Title Checker uses.
  • og:image must be absolutehttps://acme.io/x.png, never /x.png. A relative path works when a human clicks it on the live site and fails silently when a crawler with no page context tries to fetch it.
  • Twitter card typesummary_large_image for a full-width image card (the default most sites want), summary for a small square thumbnail next to the text.

Where this snippet goes

Inside the page’s <head>, before the closing tag. In Next.js’s App Router, the equivalent is the page’s metadata export rather than raw HTML — the fields map one-to-one (title, description, alternates.canonical, openGraph.*, twitter.*). For a static site or a CMS template, paste the snippet directly.

Frequently asked

Do I need both Open Graph and Twitter tags?

Not strictly — X reads Open Graph tags when its own are absent. Setting both costs nothing and removes any doubt about how the card renders on either platform, which is why the generator always writes both together.

Should every page have a unique title and description?

Yes. Identical titles across pages is one of the more common on-page issues the SEO Optimization Checker flags — it tells Google nothing distinguishes the pages from each other.

What image size should og:image be?

1200×630px, roughly a 1.91:1 ratio — the safe default nearly every platform renders well without cropping unpredictably.