Open Graph Meta Tag Generator
Create og:title, og:description, and og:image tags so links look intentional when shared on Facebook, LinkedIn, or Slack.
<meta property="og:title" content="SocialTools Online" /> <meta property="og:description" content="Free social media tools in your browser" /> <meta property="og:url" content="https://socialtools.online" /> <meta property="og:image" content="https://socialtools.online/og.png" /> <meta property="og:type" content="website" />
Runs in your browser. Nothing you enter is uploaded.
Overview
When someone pastes your link into Slack, iMessage, LinkedIn, WhatsApp, or Facebook, the unfurled card is built from Open Graph meta tags in the page head. Without them the platform falls back to guesswork - usually the first image it can find and a fragment of body text - or to a bare grey rectangle with the URL.
This generator produces the five tags that cover the overwhelming majority of unfurls: og:title, og:description, og:url, og:image, and og:type. It escapes the attribute values so quotes and ampersands in your copy cannot break the markup, and outputs a block you paste directly into the head.
Open Graph originated at Facebook but is now read by nearly every platform that renders link previews, including several that never adopted a format of their own. Getting these five right is the highest-leverage markup work on any page you expect to be shared.
Writing for the card, not for the search result
The meta description and og:description do different jobs and often deserve different wording. A meta description is read by someone who has already typed a query and is scanning for a match. An og:description is read by someone who was sent a link mid-conversation and has no query in mind. The first rewards precision; the second rewards a reason to care.
Length behaves differently too. Most unfurl surfaces show one or two lines of description and truncate hard - Slack and iMessage are particularly aggressive - so the useful budget is closer to 60-100 characters than the 160 you would write for search. Front-load accordingly and treat anything after the first clause as optional.
og:title has more room than a title tag on most surfaces but should still open with the distinctive part. Brand suffixes that make sense in a results list ("… | Acme") are dead weight on a card that already shows your domain.
Image requirements that actually cause failures
The reliable specification is 1200×630 pixels at roughly 1.91:1, served over HTTPS from an absolute URL, in JPEG or PNG, under about 5 MB. Relative paths are the single most common mistake - a scraper resolving /og.png against nothing gets nothing, and the card falls back to blank.
Assume cropping. Different surfaces render the same image at different ratios: a square thumbnail in a chat list, a wide banner in a feed, a small left-aligned tile in a sidebar. Anything within about 10% of the edges may disappear, so keep logos and headline text well inside the middle.
Images behind authentication, hotlink protection, or a CDN that blocks unknown user agents will fail silently. If a card renders with title and description but no picture, the fetch was refused - test the image URL in a private window before blaming the markup.
- 1200×630 px, absolute HTTPS URL, JPEG or PNG.
- Keep critical text and logos inside the central 80% of the frame.
- Serve it publicly - no auth walls, no user-agent blocking.
- Change the filename when you change the image so caches cannot serve the old one.
What the generator emits and how values are escaped
Five meta elements are produced in a fixed order: og:title, og:description, og:url, og:image, og:type. Each uses the property attribute rather than name, which is what the Open Graph protocol specifies and what most scrapers key on. Output updates live as you edit any field.
Before a value is inserted into the content attribute it is escaped in three places: ampersands become &, double quotes become ", and less-than signs become <. Those are precisely the characters that would otherwise terminate the attribute early or produce invalid markup - a description containing the word "Q&A" or a quoted phrase is the usual culprit.
og:url should carry the canonical form of the page. Platforms use it to consolidate engagement counts and to decide which URL to attribute a share to, so a tracking-parameter variant here splits your data across two identities.
Filled fields and the resulting head block
Input
og:title: Instagram Hashtags: How to Pick 5 That Fit og:description: A short method for choosing tags that match the post - with a "does this belong" test. og:url: https://example.com/guides/instagram-hashtags og:image: https://example.com/img/hashtags-og.png og:type: article
Output
<meta property="og:title" content="Instagram Hashtags: How to Pick 5 That Fit" /> <meta property="og:description" content="A short method for choosing tags that match the post - with a "does this belong" test." /> <meta property="og:url" content="https://example.com/guides/instagram-hashtags" /> <meta property="og:image" content="https://example.com/img/hashtags-og.png" /> <meta property="og:type" content="article" />
The straight quotes around "does this belong" became " - pasted unescaped, they would have closed the content attribute early and left the rest of the sentence as stray markup. og:type was set to article rather than the default website, which some platforms use to select a card layout that shows publication metadata.
Limitations
- The generator writes markup; it does not fetch your page or verify that the image URL resolves. A perfect tag block still fails if the image 404s.
- Only five core properties are produced. Article metadata (article:published_time, article:author), video and audio properties, locale, and site_name need to be added manually.
- No twitter:card tags are emitted. X falls back to Open Graph in most cases, but a summary_large_image declaration gives you explicit control there.
- Platforms cache aggressively. Updating the tags does not update an already-unfurled card until the platform re-scrapes, which usually requires their debugger tool.
- Values are escaped for HTML attribute safety only - the tool does not check length against any platform’s truncation point.
When not to use this tool
- If you want to see how an existing page unfurls rather than author new tags, the Open Graph previewer inspects what is already there.
- If you need the full head block including title, meta description, and Twitter card tags in one paste, the meta tag generator covers all of them at once.
How to use it
- 1
Write og:title as a standalone headline without the brand suffix you would use in a search result.
- 2
Keep og:description to one front-loaded sentence, since most chat and feed surfaces truncate after a line or two.
- 3
Enter an absolute HTTPS image URL at 1200×630 and open it in a private window to confirm it loads without authentication.
- 4
Copy the five-tag block into the <head> of the page, deploy, then run the live URL through a platform sharing debugger to clear any cached preview.
Questions
I updated og:image but the old picture still shows. How do I force a refresh?
The platform has cached the previous scrape. Run the URL through the sharing debugger for that platform - Facebook and LinkedIn both offer one - which re-fetches and replaces the cached card. Changing the image filename rather than overwriting the file avoids the problem on surfaces that have no debugger.
Do I need og:url if I already have a canonical tag?
Yes, they are read by different consumers. Canonical is a search engine directive; og:url is what social platforms use to attribute shares and consolidate engagement counts. They should contain the same URL, but one does not substitute for the other.
What should og:type be for a blog post?
Use article. It is the type most platforms recognise for editorial content and it unlocks optional article:* properties like published time and author. Reserve website for the homepage and top-level landing pages.
Can I use the same image for every page?
You can, and a branded default is much better than no image. But per-page images consistently earn more attention in feeds, because a card that visually describes the specific article reads as a specific recommendation rather than a generic link.
Related tools
Related tools
