Free tool
Meta tag generator and Open Graph preview
Meta tags tell Google and social apps what a page is: its title, a short description and the image to show when the link is shared. Fill in the fields to get the title, description, Open Graph and X card tags, see live previews for Google, X, Facebook, LinkedIn, Slack and Discord, and copy the result as HTML or as a Next.js metadata export. You can also paste a page's HTML to import and fix its existing tags.
Free · no sign-up · runs in your browser, nothing is uploaded
example.com
https://example.com
Your page title
Your description appears here.
Previews are close approximations. Each site changes its layout from time to time and may crop or re-encode the image.
- fixAdd a title. It is the headline in search results and link previews.
- tipAdd a description. Without one, Google and social sites pick text from the page.
- tipAdd the page URL for og:url and the canonical link.
- tipAdd an image. Posts without og:image show as a small text link or no card at all.
Fill in a title and description, or press Sample, to get your tags.
Title and description length
Google does not publish a character limit. Its title link docs say there is no limit on the length of a <title>, and that the result is cut to fit the device width. Because the cut is by width, a title of wide letters (W, M) is cut sooner than one of narrow letters. The title field shows the width in pixels next to the character count, measured in the 20px Arial font of desktop results, and the Google preview cuts at the same width, so you see where your title ends.
- Title: put the main words first. The counter turns amber after 60 characters, a common target, and red after 70, where X cuts card titles.
- Description: one or two sentences on what the page gives the reader. Amber after 160, red after 200, where X cuts card descriptions.
- Google may rewrite both. It can pick a title from the page heading or
og:title, and a snippet from the page text, when that matches the search better.
Open Graph image size and format
Use one image that works everywhere: 1200×630 pixels, PNG or JPG, at an absolute https:// URL. Meta recommends at least 1200×630 for link shares. X shows summary_large_image cards as a wide image and needs at least 300×157 pixels, up to 4096×4096 and 5 MB. The summary card shows a square thumbnail instead, so a wide image is cropped.
Paste the image URL and the tool reads its real size, fills in og:image:width and og:image:height, and warns about the ratio. Setting width and height lets Facebook show the image on the first share, before it has downloaded the file. Not ready to upload yet? Drop the image file into the preview box to see how it crops.
Meta tags in HTML, Next.js and React
In plain HTML, the tags go in the <head> of every page. Turn on charset + viewport above if you are writing a new page and want those two tags as well:
<head> <meta charset="utf-8" /> <title>Acme: deploy previews for every pull request</title> <meta name="description" content="Acme builds a preview URL for each pull request." /> <link rel="canonical" href="https://acme.dev/" /> <meta property="og:title" content="Acme: deploy previews for every pull request" /> <meta property="og:image" content="https://acme.dev/og.png" /> <meta name="twitter:card" content="summary_large_image" /> </head>
In the Next.js App Router, export metadata from a page.tsx or layout.tsx, or generateMetadata for pages that load data. Set metadataBase once in the root layout, so relative image paths become absolute URLs. Next.js does not copy the top-level title into openGraph, so the generated code sets both.
// app/blog/[slug]/page.tsx
export async function generateMetadata({ params }: { params: { slug: string } }): Promise<Metadata> {
const post = await getPost(params.slug);
return {
title: post.title,
description: post.summary,
alternates: { canonical: `/blog/${post.slug}` },
openGraph: { title: post.title, description: post.summary, images: [post.cover] },
twitter: { card: 'summary_large_image' },
};
}In React 19 you can render <title> and <meta> inside any component, and React moves them into the document head. Most social crawlers do not run JavaScript, so a single-page app that sets tags only in the browser shows the same preview for every URL. Render the tags on the server, or prerender each page.
Open Graph preview not updating? Fixes
- Old title or image after a change: the site cached its first scrape. Re-scrape with the Facebook Sharing Debugger or the LinkedIn Post Inspector. Changing the image file name also forces a new download.
- No image: the URL is relative, behind a login, blocked by robots.txt, or not an image. Open it in a private window to check.
- Wrong page in the card:
og:urlor the canonical link points to another page, often the home page copied into every template. - Check what is live: view the page source and paste the
<head>into Import from HTML above. The checks list what is missing.
More free tools for web pages: the robots.txt generator, the slug generator for clean URLs, the image to Base64 converter and the HTML formatter. For full SEO products, see SEO tools on DevHunt.
More free developer tools
FAQ
What is a meta tag generator?+
A meta tag generator writes the tags in a page's <head> that search engines and social apps read: the title, the meta description, the canonical link, Open Graph tags (og:title, og:image...) and X card tags. You fill in a form, and it gives you code to paste. This one also shows how the link will look on Google, X, Facebook, LinkedIn, Slack and Discord.
How do I add meta tags to my website?+
Paste the HTML output inside the <head> of each page, before </head>. In Next.js App Router, copy the "Next.js metadata" output into the page.tsx or layout.tsx file as export const metadata. In WordPress, an SEO plugin usually writes these tags for you; set the fields there instead of pasting HTML.
Which meta tags are most important for SEO?+
The <title> element and the meta description matter most for how a page shows in Google. Add a canonical link if the same page is reachable at several URLs, and a robots meta tag only when you want to keep a page out of results (noindex). Open Graph and X tags do not change rankings, but they control how links look when shared.
Do meta keywords still matter?+
No for Google. Google Search Central says Google does not use the keywords meta tag. This generator leaves it out on purpose.
How long should a meta description be?+
Google does not set a limit; it cuts snippets to fit the device width. Many sites aim for about 150-160 characters so the key point fits on desktop. Google can also show text from the page instead of your description when it fits the search better.
What size should an Open Graph image be?+
1200×630 pixels (about 1.91:1) is the common choice: Meta recommends at least 1200×630 for link previews, and it fits the large X card and LinkedIn. Use an absolute https URL, keep the file small (X allows up to 5 MB) and keep text away from the edges in case it gets cropped.
Why does my link preview not update after I changed the tags?+
Social sites cache what they scraped. Ask them to scrape again: Facebook has the Sharing Debugger, LinkedIn has the Post Inspector. Most other apps have no public re-scrape tool and refresh their cache on their own. Also check that the live page (View source) really serves the new tags, since a CDN can cache the old HTML.
Does Google use og:title?+
It can. Google lists og:title as one of the sources it may use for a title link, along with the <title> element, the main heading and other text. Google mostly uses the <title> element, so set both to the same or similar text.
Sources: Google: title links · Google: snippets and meta descriptions · Google: meta tags Google supports · The Open Graph protocol · X: Cards markup reference · Meta: images in link shares · Meta: Sharing Debugger · LinkedIn Post Inspector · Next.js: generateMetadata · React: <meta>. Checked 2026-10-31.