Open Graph Generator
See how your link will look when it is shared on Telegram or X, and take the og: and twitter: tags away ready to paste. Nothing you type is sent anywhere; the image is opened in your own browser, only to measure it.
Details
Must be an absolute URL starting with https://. A relative path (/og.png) will not work.
Share card
no URL
No title yet
No description yet
Telegram shows roughly 90 characters of the title and 200 of the description — the rest is cut.
Checks
- No title. Without one, platforms pick the first text they find on the page, and it is rarely the text you wanted.
- No description. The line under the title in the card will be empty.
- No image. A card without one renders at half the size and gets far fewer clicks.
- No page URL. og:url is the link the card points at and doubles as the canonical address.
- The card type is “large image” but there is no image. X falls back to the small card, and your choice does nothing.
Result
<!-- Open Graph -->
<meta property="og:type" content="website" />
<meta property="og:locale" content="uz_UZ" />
<!-- Twitter -->
<meta name="twitter:card" content="summary_large_image" />What each platform shows
Open Graph is how you decide what your page looks like when it is shared. Without the tags, the platform picks some text and some image off the page itself. The numbers below are the approximate points where text gets cut — not hard rules, but worth writing your title against.
| Platform | Title | Description | Note |
|---|---|---|---|
| Telegram | ~90 chars | ~200 chars | Reads og: tags, not twitter:. The one that matters most for an Uzbek audience. |
| X (Twitter) | ~70 chars | ~125 chars | Falls back to og: when twitter: is absent. summary_large_image needs an image. |
| ~88 chars | ~110 chars | Reads og: tags only. The cache can be refreshed through the Sharing Debugger. | |
| ~120 chars | ~130 chars | Reads og: tags and caches them for a long time — refresh via Post Inspector. | |
| ~65 chars | ~120 chars | Reads og: tags only and renders the image small. It may drop images over about 300 KB. | |
| Slack | ~120 chars | ~200 chars | Reads og: tags. The one your link most often lands in at work. |
| Discord | ~90 chars | ~180 chars | Reads og: tags and shows a longer description than the others. |
Image size
1200 × 630 — every large card is built around that 1.91:1 ratio. An image with an edge below 200 pixels is not shown at all. And the URL must be absolute: a relative path is the single commonest reason a share card has no picture.
Why your change is not showing
Platforms cache the tags they read the first time — Facebook and LinkedIn for a long while. If the old card keeps appearing after you have fixed the tags, that is usually not a bug: re-scrape the URL in the Facebook Sharing Debugger or the LinkedIn Post Inspector.
Frequently asked questions
What is Open Graph, and do I need it?
Open Graph is the set of meta tags that decide which title, description and image appear when your page is shared on social media. Without them the platform picks its own text and image off the page, which is how a card ends up showing your navigation menu or a random picture. If your links get shared on Telegram or anywhere social, you need them.
I updated the tags but the card is still the old one. Why?
Almost always caching. Platforms store what they read the first time they fetch your page — Facebook and LinkedIn keep it for a long while, and Telegram caches on its own servers. The fix is to re-scrape the URL in the Facebook Sharing Debugger or the LinkedIn Post Inspector. For Telegram, testing with a changed query string such as ?v=2 is the usual workaround.
What image should og:image point at?
1200 × 630 pixels, a 1.91:1 ratio — every large card is designed around it. Platforms drop images with an edge below 200 pixels entirely. Most important of all: the URL must be absolute. A relative path like /og.png does not work, because the crawler resolves it against its own domain, and that is the number-one reason a card has no picture. This tool loads your image in your browser and measures the real dimensions.
If I have og: tags, do I also need twitter: tags?
Mostly no. X falls back to the og: tags for the title, description and image, so repeating them only creates a second copy to keep in sync. The two that genuinely do something are twitter:card, which decides whether the card is large or small, and twitter:site, which attributes it to your account — which is exactly what this tool writes.
Where do these tags go in a Next.js project?
In the App Router you do not write meta tags by hand — you export a metadata object from page.tsx or layout.tsx and Next renders the tags for you. Pick the “Next.js” shape and the output is that object, ready to paste into the file. For the Pages Router or a plain HTML site, take the “HTML” shape and put it in the page's head section.