Logo

MonoCalc

/

Open Graph Tag Generator

Social Media

Page details

The canonical address of the page — not a share link. Absolute http or https only.
0 characters after trimming.
website suits most pages. Some types open a block of extra properties.
Absolute URL. A relative path has no base to resolve against on a crawler's servers.
0 characters after trimming. Line breaks are folded to spaces.

Alternate locales (og:locale:alternate)

Other locales the same page is available in. Each one becomes its own tag.

Preview

No image — most unfurlers will render a text-only card.

site name

Your og:title goes here

Your og:description goes here.

Generic preview — actual rendering varies by platform. The image area is drawn at 1.91:1 and the text is clipped to two lines so the card has a fixed shape; neither is a claim about where any particular service truncates.

Checklist

7 of 11 checks passed

Blocks a correct unfurl

Error

og:title

Add a title — it is one of the four properties Open Graph marks required, and without it unfurlers fall back to whatever text they can find.

Error

og:url

Add the page's canonical address, so every share of the page resolves to one identity rather than several.

Error

og:image

Add an absolute image URL — without one most unfurlers render a text-only card.

Worth fixing

Warning

og:description

Write a one-sentence summary — with no description the card is a title and an image and nothing else.

Output — 2 properties

<meta property="og:type" content="website" />
<meta property="og:locale" content="en_US" />

Every content value is entity-escaped, so a double quote in your title cannot close the attribute and an angle bracket cannot open a tag.

Read tags you already have

Paste a head section or a whole HTML page and the form fills itself from the Open Graph tags in it. The markup is parsed into a detached document and never added to this page, so nothing in what you paste can run. Everything that is not an og:, article: or profile: meta tag is ignored.

About This Tool

Open Graph Tag Generator – The Meta Block Behind Link Previews

Open Graph is the metadata protocol published at ogp.me, and it is what most link unfurlers read when someone pastes your URL into a chat, a post or a message. It is a handful of <meta> tags in your page's <head>, each carrying a property that starts with og: and a content value. Get them right and your link arrives as a card with a title, a summary and an image. Get them wrong and it arrives as a bare URL.

The four properties the protocol marks required

Open Graph itself names four: og:title, og:type, og:image and og:url. Everything else — og:description, og:site_name, og:locale, the image sub-properties — is optional and still worth writing. og:type decides which extra vocabulary applies: an article can carry article:published_time and article:author, a profile carries names, and website — the right answer for most pages — carries nothing extra at all.

og:url deserves particular care. It is how an unfurler decides which page it is looking at, so it should be the canonical address, not the campaign link someone clicked. Put tracking parameters in the link you hand out and keep them out of og:url, or every campaign becomes a separate page identity.

Escaping: three outputs, three different rules

The whole output is markup built out of untrusted text, so escaping is the correctness core rather than a footnote. Take a title reading Tips & "Tricks" for <head> tags and watch what each format has to do with it.

In HTML, the ampersand becomes &amp;, each double quote becomes &quot; and the angle brackets become &lt; and &gt;. Without that, an unescaped quote closes the content attribute early and an angle bracket opens a tag inside your own head section.

In the Next.js metadata export, none of that applies. It is a JavaScript string literal, so the value is quoted with JSON.stringify instead — the ampersand and the angle brackets stay exactly as typed and only the quotes and backslashes are escaped. Writing &amp; into a JS literal is a bug, not a safety measure, and confusing the two contexts is the classic mistake in a tool shaped like this one.

In the plain key/value list the value is emitted verbatim, because its destination is a form field, not markup. One rule applies everywhere: control characters are stripped and line breaks are folded to a single space, since a raw newline is malformed inside an attribute and a syntax error inside a string literal.

Why every URL must be absolute

A relative /img/cover.png works in your browser because the browser knows the page it came from. The program reading your tags is a crawler on someone else's servers with no such base, which is why the protocol requires absolute URLs. This tool checks og:url, og:image, og:video and article:author against an allowlist of http: and https:, reports anything else on the field, and leaves the tag out rather than emitting a value that will fail. It never prefixes https:// for you either — guessing at your domain would be guessing at your canonical URL.

Nothing here touches the network
Your page is described, never fetched. The only request the browser makes is loading the image you named, into the preview card, so you can see that the address resolves.

What the checklist is for

The panel beside the form separates what breaks an unfurl from what merely weakens it. A missing og:image or a relative og:url is an error. An empty description, a width without a height, an image served over http: on an https: page, or an article with no publication date are warnings — each row says what to change, not just what is wrong.

Tags change on deploy, previews change on cache expiry
Unfurlers cache what they scraped and decide for themselves when to look again, so a corrected tag can take a while to show up — and no generator can clear someone else's cache. Deploy first, then use each platform's own card inspector to ask for a re-scrape.

Frequently Asked Questions

Is the Open Graph Tag Generator free?

Yes, Open Graph Tag Generator is totally free :)

Can I use the Open Graph Tag Generator offline?

Yes, you can install the webapp as PWA.

Is it safe to use Open Graph Tag Generator?

Yes, any data related to Open Graph Tag Generator only stored in your browser (if storage required). You can simply clear browser cache to clear all the stored data. We do not store any data on server.

How does the Open Graph tag generator work?

You fill in the page details — the canonical URL, a title, a type, an image and whatever else applies — and the tool assembles the matching block of Open Graph meta tags in your browser. The same values are also emitted as a Next.js metadata export and as a plain key/value list, each escaped for its own destination: HTML attributes get entity escaping, the JavaScript literal is escaped with JSON.stringify. A live preview card shows the shape of the result and a checklist flags what is still missing. Nothing is uploaded and your page is never fetched.

Why should og:url be the canonical URL rather than the link I am sharing?

og:url is how an unfurler decides which page it is looking at, so it should name one address for the page no matter how the page was reached. If you paste a share URL carrying tracking parameters, every campaign becomes a different page identity, and any counts or caches an unfurler keeps get split across those variants. Put the clean canonical address in og:url and let the tracking parameters live in the link you hand out.

Why does a relative image path not work in og:image?

The program reading your tags is a crawler on someone else's servers, not a browser sitting on your page, so it has no base URL to resolve /img/cover.png against. Open Graph requires absolute URLs, which is why this tool rejects anything without http:// or https:// and leaves the tag out rather than emitting a value that will fail. It does not prefix https:// for you either — guessing at your domain would guess at your canonical URL.

Do I still need separate tags for X/Twitter?

X reads its own twitter: meta tags and falls back to Open Graph for anything they do not cover, so a page with good Open Graph tags usually unfurls there even with no twitter: tags at all. Adding them gives you control over the card style specifically on X. This tool deliberately emits no twitter: tags — that is a separate tag family with its own rules, and mixing the two in one output block makes it harder to see which platform is reading what.

I changed my tags but the preview on a platform still shows the old ones. Why?

Unfurlers cache what they scraped, often for a long time, and they decide when to look again. Nothing you put on your page clears someone else's cache, and no tag generator can do it either. Most platforms run a debugging or card-inspector page of their own that re-scrapes a URL on demand — that is the route to a refresh. Deploy the tags first, then ask each platform to re-read the page.

Do Open Graph tags help my search ranking?

No. They control how a link looks when it is pasted into a chat, a post or a message — the title, image and summary in the preview card. They are not a ranking signal. The indirect benefit is real but ordinary: a link with a clear title and a good image gets clicked more often than a bare URL, and that is the whole of it.