HTML Meta Tag Generator
Build your page’s title, description, canonical and robots tags — see them in a live Google-style preview, with length checks and copy-ready HTML.
Meta tags are the contract between your page and the search engines: the title is your headline
and your strongest on-page relevance signal, the description is your pitch in the results page,
the canonical tells crawlers which URL is the master copy, and robots gives you per-page control
over indexing. This tool builds every one of them, measures them against the lengths Google
actually displays (not just character counts), flags the mistakes that quietly hurt you, and hands
you clean HTML ready to paste into your <head>.
Build your meta tags
How it will look in Google
A Google-style approximation of your result on desktop and mobile. Pixel limits are measured from live search results (they vary slightly by device and A/B test), so treat the cut-off as a close estimate, not a guarantee.
Your copy-ready HTML
Paste this block into your page’s <head>. Every tag is generated from the fields above and re-checked as you type.
Validation report
What each tag actually does
| Tag | What it does | Who uses it |
|---|---|---|
<title> |
Your page’s headline in search results and the browser tab. It is also the single strongest on-page relevance signal — Google matches the query against it first. | Google, Bing, every browser |
meta name="description" |
The suggested snippet under your title. Not a ranking factor, but it directly drives click-through rate — and if you omit it (or write a weak one), Google invents a snippet from page text, which usually looks worse. | Search engines |
link rel="canonical" |
Tells crawlers which URL is the master copy when the same content is reachable at several addresses — www vs bare domain, ?utm_source= parameters, pagination. Prevents duplicate-content dilution of your ranking signals. |
Crawlers (Google, Bing) |
meta name="robots" |
Per-page crawl and index control: noindex keeps the page out of results, nofollow asks crawlers not to follow its links (a weak hint for Google since 2019), nosnippet suppresses the snippet, noarchive blocks cached copies. |
Crawlers |
meta name="viewport" |
Tells mobile browsers how to size the page. Without it, phones render a zoomed-out desktop layout — which hurts both users and Google’s mobile rendering of your site. | Browsers |
Length limits at a glance
| Field | Sweet spot | Google display limit (approx.) |
|---|---|---|
| Title | 30–60 characters | ≈580 px desktop / ≈470 px mobile |
| Description | 70–160 characters | ≈920 px desktop / ≈600 px mobile |
Google truncates by rendered pixel width, not character count — which is why two 61-character titles can behave differently. The live previews above measure your exact text the same way.
Mistakes that actually hurt
- Forgetting noindex on staging and internal pages. The classic: a test deploy ranks for your own brand terms, or an internal wiki page shows up in results. Mark draft and private pages
noindexbefore they go live. - A canonical pointing at a 404 or another site. You are telling Google to ignore your URL and use that one instead — if the target is dead, you have de-indexed yourself.
- Canonicals with query strings as the master URL. Pick one clean address (
/blog/post/, not/blog/post/?ref=twitter) and point every variant at it. - Descriptions under about 70 characters. Google pads short snippets with whatever page text it likes — often a random sentence. A short but complete pitch beats an empty one.
user-scalable=noto stop double-tap zoom. It breaks pinch-zoom for users with low vision (WCAG 1.4.4 requires scalable text) and power users work around it anyway. There is almost never a good reason.- Duplicate titles across pages. Filter views, pagination and category templates that all emit the same
<title>split your relevance signals and confuse crawlers about which page to show. Give every indexable page its own title.