Kamaankamaan
Free tool · No login

Open Graph + social preview

Enter your title, description, image, and URL to generate Open Graph and Twitter Card meta tags, and watch the live card preview update as you type. Copy the tags straight into your head.

Card type
Live social card preview
kamaan.io
Publish once, ship every language
Kamaan auto-translates your blog into 99+ languages with correct hreflang and delivers it over a REST API.

Approximate rendering. Facebook, X, and LinkedIn each crop and truncate slightly differently, but this is what your card will roughly look like when shared.

Branded OG image (1200 × 630 PNG)
Branded Open Graph image rendered from your title and description

This is a real 1200 × 630 PNG rendered on the fly from your title, description, and site name. Download it and point og:image at your hosted copy.

No blocking errors
Meta tags (paste into your <head>)
<title>Publish once, ship every language</title>
<meta name="description" content="Kamaan auto-translates your blog into 99+ languages with correct hreflang and delivers it over a REST API." />

<!-- Open Graph -->
<meta property="og:title" content="Publish once, ship every language" />
<meta property="og:description" content="Kamaan auto-translates your blog into 99+ languages with correct hreflang and delivers it over a REST API." />
<meta property="og:url" content="https://kamaan.io/blog/publish-once" />
<meta property="og:image" content="https://kamaan.io/og/publish-once.png" />
<meta property="og:site_name" content="Kamaan" />
<meta property="og:type" content="article" />

<!-- Twitter / X Card -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Publish once, ship every language" />
<meta name="twitter:description" content="Kamaan auto-translates your blog into 99+ languages with correct hreflang and delivers it over a REST API." />
<meta name="twitter:image" content="https://kamaan.io/og/publish-once.png" />
<meta name="twitter:site" content="@kamaan" />

Paste inside the <head>. After deploying, re-scrape with the Facebook Sharing Debugger or X Card Validator so the platforms refresh their cache.

Do this automatically
Kamaan emits localized Open Graph and Twitter meta for every language of every post, automatically, the moment you publish.
Start free trial30 days free on all plans. No credit card. Publish once, ship every language.
The basics

What Open Graph tags do and why a bad card costs you clicks

Open Graph tags are the meta tags that decide what your link looks like the instant someone pastes it into Slack, LinkedIn, Facebook, WhatsApp, or a text message. A good card, with a sharp title, a clear description, and a crisp 1200 by 630 image, gets noticeably more clicks than a bare blue link. A missing or broken card makes even great content look like spam.

The tags themselves are simple: og:title, og:description, og:image, and og:url, plus a small set of twitter: tags for X. The trap is that they are invisible on your own page, so they silently rot: you rename a post, change its hero image, or translate it, and the shared card still shows the old, wrong thing until you remember to update the tags and force a re-scrape.

How to use it

Generate your social meta tags in three steps

  1. Type your title and description. The character counters keep you under the truncation limits so nothing gets cut off in the card.
  2. Add your image and URL. Paste an absolute image URL (1200x630 is ideal) and your canonical page URL. The preview updates live.
  3. Copy the meta tags. Grab the full block of Open Graph and Twitter tags, paste it into your <head>, and re-scrape with the platform debuggers so they refresh.
Common mistakes

Why your link preview looks broken

  • Relative image URLs. og:image must be an absolute https URL. A path like /og.png is ignored by the scrapers.
  • No image at all. Cards without an image get a fraction of the engagement. Always set one.
  • Stale cache. You updated the tags but the old card still shows. Re-scrape with the Facebook, LinkedIn, or X debugger.
  • Overlong title or description. Anything past roughly 60 and 160 characters gets truncated mid-sentence.
  • One card for every language. A shared French post that previews in English looks careless. Localize the tags per URL.
For headless + multilingual blogs

Social meta is per-page, per-language busywork

In a headless Next.js, Astro, or Nuxt blog, generating Open Graph tags once is easy, this tool proves it. The cost is keeping them correct across every post and every translation over time. Each language version needs its own localized title, description, and URL, and each needs a re-scrape when it changes. Multiply that by a content calendar and a stack of languages and it becomes a standing chore nobody wants.

Kamaan deletes that chore. Publish a post once and Kamaan ships localized Open Graph and Twitter Card meta for every language it translates into, with the correct per-language URL, automatically. The tool above shows you what a correct card looks like. Kamaan makes correct cards the default for every language of every post you publish.

FAQ

Frequently asked questions

What is an Open Graph generator?

Open Graph is a set of meta tags (og:title, og:description, og:image, og:url) that control how your page looks when it is shared on Facebook, LinkedIn, Slack, WhatsApp, and most other platforms. An Open Graph generator turns your title, description, image, and URL into those tags so you do not have to write them by hand. This one also adds the Twitter Card tags and shows a live preview of the card.

What image size should an og:image be?

The safe, universal size is 1200 by 630 pixels (a 1.91:1 ratio). That renders as a large image card on Facebook, LinkedIn, and X without awkward cropping. Keep the file under about 5 MB, use PNG or JPG, and make sure the URL is an absolute https link that is publicly reachable, since the scrapers fetch it server-side.

Do I need both Open Graph and Twitter Card tags?

X (Twitter) reads Twitter Card tags first and falls back to Open Graph if they are missing, so you can get away with just Open Graph. But adding the twitter:card and twitter:image tags gives you explicit control over how the card looks on X, including whether it uses the large image layout. This tool outputs both sets so you are covered everywhere.

How long should my title and meta description be?

For the shared card, keep og:title under about 60 characters so it is not truncated, and og:description under about 155 to 160 characters. The same limits work well as your SEO title tag and meta description in search results, which is why this tool shows a live character counter and flags when you go over.

Why does my link still show the old image after I updated it?

Facebook, LinkedIn, and X cache the scrape of your page. After you change your Open Graph tags you have to force a re-scrape: use the Facebook Sharing Debugger, the LinkedIn Post Inspector, or the X Card Validator and click to refresh. Until you do, they keep serving the cached (old) card.

Can this tool render a downloadable OG image?

Yes. Alongside the meta tags and the live card preview, this generator renders a real, branded 1200x630 PNG on the fly from your title, description, and site name, in a light or dark theme. Hit Download OG image to save the file, host it somewhere public, then point og:image at that URL. It is a server-rendered image, so the same title always produces the same crisp card.

Do I need different Open Graph tags per language?

Yes. Each translated version of a page should have its own og:title, og:description, and og:url so it previews correctly when shared in that language. Maintaining that by hand across dozens of posts and locales is exactly the kind of repetitive work Kamaan removes: it emits localized social meta for every language automatically when you publish.

More free tools