How to Make a Website Link Preview Show an Image in Telegram in India
Add Open Graph metadata and a public image URL to your page, then check the exact link in Telegram. The setup is the same in India.
To make a website link preview show an image in Telegram, add an og:image tag to the page’s HTML <head> and point it to an absolute, publicly accessible image URL. Also provide og:title, og:type, and og:url. Then share the exact page URL in Telegram and inspect the preview. The official Telegram and Open Graph documentation reviewed describes general behavior, not a separate India-specific metadata format.
1. Add Open Graph tags to the page
Put these tags in the head of the specific page you intend to share. Replace the example values with that page’s real title, canonical URL, and representative image URL.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Guide to Example Topic</title>
<meta property="og:title" content="Guide to Example Topic">
<meta property="og:type" content="website">
<meta property="og:url" content="https://example.com/guides/example-topic">
<meta property="og:image" content="https://example.com/images/example-topic-preview.jpg">
<meta property="og:image:alt" content="A representative image for the example topic guide">
<meta property="og:description" content="A concise description of the guide.">
</head>
<body>
<h1>Guide to Example Topic</h1>
</body>
</html>
The Open Graph Protocol identifies og:title, og:type, og:image, and og:url as its four required basic properties. Description and image details such as alt text, MIME type, width, height, and secure URL are optional metadata; use accurate values where useful, but do not treat optional fields as required for every page. See the Open Graph Protocol.
Choose a suitable image URL
- Use an absolute URL, such as
https://example.com/images/preview.jpg, rather than a relative path like/images/preview.jpg. - Make the image publicly fetchable without a login, private cookie, or temporary access token.
- Use a page-specific image when one exists, and make sure it represents the page. Telegram’s Instant View checklist recommends a photo when a suitable image or document exists in the source.
- Use a URL that returns the image itself. Check that the address does not lead to an HTML page, a blocked download, or an expired redirect.
Open Graph allows optional structured image properties such as og:image:type, og:image:width, og:image:height, and og:image:secure_url. Add them only when they describe the actual asset correctly. The official sources reviewed do not establish one universal Telegram image dimension or file-size limit, so avoid treating commonly repeated dimensions as Telegram requirements.
2. Make sure Telegram can see the tags
The tags need to be present in the HTML returned for the URL being shared. If your site relies on JavaScript to add metadata after the page loads, inspect the server response as well as the rendered page. A browser displaying the right title does not by itself confirm that the metadata is in the initial HTML.
Check these details before sharing:
- Open the exact page URL and inspect its returned HTML. Confirm all four basic Open Graph properties are in the document head.
- Open the
og:imageURL directly. Confirm it loads the intended image publicly and returns a successful response. - Use the canonical URL for that page in
og:url, and keep the title, description, and image relevant to the page. - Share the exact page URL in Telegram and inspect the preview in the client you care about.
Telegram preview objects can contain a title, description, site name, URL, and media. Telegram clients and bots also have options that can disable a preview or change how its media is presented. Those message-level controls affect presentation; they do not add missing metadata to a website.
3. Configure the tags in your site platform
The exact field names vary by CMS or framework. Look for social sharing, Open Graph, or SEO metadata settings for the individual page. Enter the page title, description, canonical URL, and image, then inspect the HTML served for that page to verify the platform emitted them in the head.
- CMS: Set social metadata on the page or post, not only in global site settings, if the page needs its own image.
- Server-rendered application: Render the tags into the response for each route, using that route’s data.
- Static site: Generate the correct tags during the build for each page.
- Client-rendered application: Verify the initial HTML response includes the metadata. If it does not, use a rendering approach that serves metadata with the page response.
In all cases, the check that matters is the HTML returned for the shared URL and whether the referenced image is publicly reachable.
4. Troubleshoot a missing image preview
If Telegram shows a link without an image, work from the page and image outward before assuming that a cache is responsible.
| Symptom | Likely cause | What to check or fix |
|---|---|---|
| No image appears | og:image is missing, malformed, or absent from the HTML response. |
Inspect the exact URL’s returned HTML and put a valid absolute image URL in the head. |
| The image URL works in your browser but not for a fetcher | The image may require authentication, depend on a private cookie, or be blocked by access rules. | Make the intended asset publicly reachable and check its response without relying on a logged-in browser session. |
| The wrong image appears | The page has a generic or stale image tag, or the shared URL resolves to a different page. | Check the final page URL, canonical URL, and page-specific og:image value in the live HTML. |
| The title or description is wrong | Metadata may not match the page, or a platform may be emitting global defaults. | Set page-level metadata and confirm the values in the HTML response. |
| Preview is disabled or looks different between messages | A client or bot option may suppress the preview or change media placement or size. | Check the sender-side preview settings and inspect a normal link preview in the intended Telegram client. |
| Updated metadata still does not appear | The live response may still be old, or preview generation may be inconsistent. | Re-check the HTML and image response first, then retry the exact URL. Telegram issue reports describe cases where users observed valid metadata or successful fetches but preview generation still failed; they do not establish one universal cause or a guaranteed cache reset procedure. |
Telegram’s documentation reviewed here does not define a dependable universal command to refresh a preview or a universal cache duration. Do not rely on an assumed cache-reset trick; verify the currently served page and image, then test the URL in the Telegram client and network conditions your readers use.
5. What is specific to India?
The reviewed Open Graph and Telegram documentation gives general website preview instructions and does not describe a distinct metadata format or India-only setup. The tags and public image URL are therefore the same for a site aimed at readers in India. This is an inference from the scope of those documents, not a guarantee that every client or network behaves identically. Check the preview on the Telegram client and connection your audience actually uses.
6. Inspect the rendered page visually
After checking metadata, you may want a screenshot of the public page to review its layout, image, or mobile appearance. ScreenshotNeo is a website screenshot API and MCP server for developers. Its screenshot can help you inspect the page itself; it does not replace adding Open Graph tags or prove how Telegram will render a preview. See the ScreenshotNeo documentation.
Or skip the browser setup
If you also need a screenshot of the page for review, one GET request to ScreenshotNeo returns an image. This does not configure Telegram metadata: keep the Open Graph tags above for link previews.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com/guides/example-topic -o shot.webp
Cookie banners, popups, and chat widgets are removed before the shot. Bot checks, blank pages, and failed loads are never billed. An MCP server lets AI agents take screenshots. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000. Sign up for ScreenshotNeo and get 1,000 free screenshots a month with no card.
Performance, reliability, and cost notes
- Performance: Keep preview metadata in the page response and use an image URL that can be fetched directly. This avoids depending on client-side rendering for the basic metadata.
- Reliability: Verify the live HTML and image independently, and inspect the result in Telegram. Documentation does not promise identical previews across every client, network, or time.
- Cost: Open Graph tags are page metadata; no paid screenshot service is required to add them. If you use ScreenshotNeo to review pages, its free tier is 1,000 shots per month with no card; the listed paid plans start at $5 for 3,000 shots.
FAQ
Does Telegram require a 1200 × 630 image?
The official sources reviewed do not establish a universal required image size. Use a suitable, publicly accessible image and verify the actual preview.
Can I use the same image on every page?
You can, but a page-specific representative image makes the preview more relevant when the page has a suitable image.
Will Open Graph tags fix a preview disabled by the sender?
No. The tags describe the webpage; Telegram’s client or bot options can separately disable or change preview presentation.
Is there a special Telegram setup for India?
The reviewed documentation does not define one. Use the same page metadata and check the result in the Telegram client and network your audience uses.
Sources
- Open Graph Protocol for the basic properties and optional metadata.
- Telegram TDLib web page reference and Telegram Bot API link preview options for preview content and presentation controls.
- Telegram Instant View checklist for editorial guidance on suitable photos and descriptions.
- Telegram bug reports as examples of reported preview-generation inconsistencies, not as proof of a universal cause.


