Skip to tool
ecech.
💻 Developer & Code

Meta Tag Generator That Writes the Minimum Correct Set, Not a Wall of Duplicates

Twitter reads your Open Graph tags, so most twitter: tags do nothing. This writes only what is needed, makes og:image absolute, and shows the card before you ship it.

How the card may look when shared

1200 × 630

ecech.com

Paste into <head>



  
Advertisement

How the calculation works

Why the shared link shows no image In your browser og:image = "/og/bmi.png" resolved against the page it is on → ecech.com/og/bmi.png ✓ looks perfect while you test In a scraper og:image = "/og/bmi.png" no page context to resolve against → nothing, blank card the mistake you cannot see locally og:image must be absolute: https://ecech.com/og/bmi.png

How to Use This Tool

Fill in the fields and copy the tags. The generator writes the smallest set that works, resolves your image URL to an absolute one, and previews the card so you can see it before you ship.

Why most twitter: tags are pointless

Twitter's crawler reads Open Graph tags. If twitter:title is missing it uses og:title; the same holds for description and image. So a generator that emits twitter:title, twitter:description and twitter:image alongside the og: versions is duplicating three tags that already work by inheritance.

The one tag Twitter does not infer is twitter:card, which chooses the layout. That is the tag you actually need. twitter:site and twitter:creator are optional handles. Everything else, leave to Open Graph.

The absolute-URL trap

This breaks more previews than anything else. A relative image path like /og/bmi.png works when you load the page, because your browser resolves it against the current URL. A scraper has no current URL — it is fetching your page from the outside — so a relative path resolves to nothing and the card comes up blank.

og:image, og:url and the canonical must all be absolute, including https://. This tool takes your page URL and resolves the image against it automatically, so you can type a path and get a full URL out.

The image size every platform expects 1200 × 630 Ratio 1.90:1. Facebook, LinkedIn, X and most link unfurlers crop to this. Smaller than 600×315 and some platforms refuse to show it.
Text near the edges risks being cropped; keep the important part central.

Titles and descriptions are cut differently per platform

There is no single correct length. Each platform truncates its card at its own width, and the limits change. Rough guidance that ages well: keep the title under about 60 characters and the description under about 110, and put the meaningful part first so a cut tail costs nothing. That is the same front-loading rule that applies to search snippets.

What these tags do and do not do

Open Graph tags control how a link looks when shared. They are not a ranking factor — Google does not rank you higher for having them. What they change is the click: a link with a clear title, description and image is shared and clicked more than a bare URL. That is the whole value, and it is a real one.

Two caveats worth knowing. Platforms cache your card aggressively, so after changing tags you often need each platform's debugger to refresh them — the link will otherwise show the old card for days. And a preview here is an approximation; the platforms restyle constantly, so treat the card above as a sanity check, not a pixel-exact render.

Advertisement

Frequently Asked Questions

Do I need separate Twitter Card tags?
Mostly no. Twitter's crawler falls back to your Open Graph tags for title, description and image, so repeating them as twitter: tags does nothing. The one tag you genuinely need is twitter:card, which selects the layout. twitter:site and twitter:creator are optional handles; the rest is inherited from og:.
Why does my shared link show no image?
Almost always because og:image is a relative path. It resolves correctly in your browser, which has the page URL as context, but a scraper fetching your page from outside has no such context, so the path resolves to nothing. Make og:image an absolute URL including https://, which this tool does for you.
What size should the Open Graph image be?
1200 by 630 pixels, a ratio of about 1.9 to 1. Facebook, LinkedIn, X and most link unfurlers crop to this. Below 600 by 315 some platforms will refuse to render it at all. Keep important content away from the edges, since the crop varies slightly between platforms.
Do Open Graph tags help SEO?
Not directly — they are not a ranking factor. What they affect is the click-through on a shared link: a result with a clear title, description and image gets shared and clicked more than a bare URL. The benefit is real but it is about engagement, not ranking.
I changed my tags but the old preview still shows. Why?
Platforms cache the card, often for days. To force a refresh you use each platform's own debugger — Facebook's Sharing Debugger, LinkedIn's Post Inspector — and re-scrape the URL. Until then the cached card persists no matter what your page now says.
Is og:url the same as the canonical tag?
They usually should match, and both must be absolute, but they serve different consumers: canonical tells search engines which URL to index, og:url tells social platforms which URL the share represents. Pointing either at a URL that redirects causes problems, so use the final served URL in both.
Is anything I enter sent to a server?
No. The tags are assembled in your browser and nothing is transmitted.

Related tools in Developer & Code

Browse all Developer & Code tools
A handwritten note reading ecech.com resting on the keyboard used to build the site.

Made by one person

ecech. is not a content farm. Every tool here is written and checked by hand, one at a time, by someone who wanted the tool to exist and could not find a version that showed its working.

No accounts and no sign-in, and nothing you type reaches a server — every calculation on this page runs inside your browser. The ads are served by Google and do set their own cookies, which is set out in full on the privacy page. More about the site.