Meta Tag Generator
Generate HTML meta tags for SEO, social sharing, and viewport — ready to paste into your page head.
Did this tool work for you?
How to use this calculator
- 1
Enter your page title (aim for 50–60 characters).
- 2
Write a meta description (120–156 characters).
- 3
Add keywords and the canonical URL for this page.
- 4
Choose your robots directive and language.
- 5
Copy the generated tags and paste them inside the <head> of your HTML.
Frequently asked questions
Which warnings does the generator add, and what are they based on?
If a title is entered and its length is under 50 or over 60 characters, a comment is appended saying so. If a description is entered and its length is under 120 or over 156, it adds a similar comment. The lengths are measured on the text you typed, before escaping, after line breaks and repeated spaces are collapsed. Those ranges are the tool’s bands, not search-engine limits, and empty fields produce no warning.
Why do ampersands and quotation marks become & and "?
Values are escaped for &, <, > and " so that a quote inside a title cannot end the attribute early and an ampersand in a URL such as ?a=1&b=2 is written as valid HTML. Browsers decode the entities, so visitors and crawlers see the original characters.
Why does the output contain both a title element and a meta name="title" tag?
The generator writes <meta name="title"> whenever a title is entered, repeating the text of the <title> element. The title element is the one that matters for the page; delete the extra meta line if you do not want it.
Should I fill in the keywords field?
Google announced in 2009 that it does not use the keywords meta tag in web search ranking. The tool writes the tag only if the field is filled in, so leaving it blank means no tag is emitted.
What do the four robots options write?
They write <meta name="robots"> with the value index,follow, noindex,nofollow, noindex,follow or index,nofollow. Because indexing and following are the default when the tag is absent, index,follow is redundant but harmless. A noindex request can only be seen if crawlers are allowed to fetch the page, so do not also block that URL in robots.txt.
What does the language field do?
It writes <meta http-equiv="content-language"> with whatever code you type, defaulting to en. It does not set the lang attribute on the html element, which you should declare in your page template.
Does it validate the canonical URL or create social tags?
No to both. The canonical URL is written exactly as typed after escaping, with no check that it is absolute, reachable or the preferred version. Open Graph and Twitter Card tags come from the separate Open Graph generator.
What the generated head block contains, tag by tag
How the output is assembled
The generator builds one block of HTML comments and tags in a fixed order: a banner comment, then the charset declaration if enabled, then the viewport tag if enabled, then the primary tags. Fields left empty are skipped, except the robots directive and the language, which always produce a line because they have defaults (index,follow and en). Every value has runs of whitespace collapsed to a single space, so a description typed across two lines becomes one line, and the characters & < > " are replaced with entities.
Tags emitted and when
The table lists every tag the tool can write and the condition for each.
| Tag | Written when | Notes |
|---|---|---|
| meta charset="UTF-8" | Charset = Yes | Placed first in the block |
| meta name="viewport" | Viewport = Yes | width=device-width, initial-scale=1.0 |
| title element | Title entered | Text is escaped |
| meta name="title" | Title entered | Repeats the title text |
| meta name="description" | Description entered | Whitespace collapsed |
| meta name="keywords" | Keywords entered | Written as typed |
| meta name="author" | Author entered | |
| meta name="robots" | Always | One of four fixed values |
| meta http-equiv="content-language" | Language non-empty (default en) | Does not set the html lang attribute |
| link rel="canonical" | URL entered | Not validated |
Worked example: escaping and length warnings
Enter the title Sourdough Starter Guide: Feeding & "Discard" Rules | Acme Bakery, a two-line description, and the URL https://example.com/sourdough-starter?a=1&b=2. The output contains <title>Sourdough Starter Guide: Feeding & "Discard" Rules | Acme Bakery</title>, a one-line description, and a canonical link whose href ends in ?a=1&b=2. Two comments follow: the title is 64 characters against the 50 to 60 band, and the description is 114 characters against the 120 to 156 band. The length is counted on the text as typed, so the entities do not inflate it.
Worked example: a page that should stay out of search results
For an order-status page, enter the title Order status, leave the description empty, choose noindex,follow, set viewport and charset to No, set the language to de and add a canonical URL. The block then contains only the title, the repeated meta title, the robots tag with noindex,follow, the content-language line and the canonical link. The only warning is that the title is 12 characters. Remember that a noindex request is read only if the page can be crawled, and that no tag in this block replaces proper access control for private pages.
What to check by hand
Paste the block inside the head element and keep the charset line near the top. Check that titles and descriptions differ from page to page, because the tool sees only one page at a time. Confirm that the canonical URL is the address you want indexed, and that your page template declares the language on the html element.
Learn more from an authoritative source:
Google Search CentralOpen Graph Tag Generator
Generate Open Graph and Twitter Card meta tags to control how your page looks when shared on social media.
Keyword Density Calculator
Calculate keyword density and frequency for any text. Paste your content and keyword to see how often it appears and whether density is in the recommended SEO range.
Meta Description Checker
Check your meta description length, character count, pixel width, and SEO quality. Get instant feedback on whether it will display fully in Google search results.
Title Tag Checker
Check a title tag’s character length, approximate pixel width and keyword position against the length figures built into this tool. Search engines choose how titles are displayed, so treat the result as a guide.
Reading Level Calculator
Calculate the reading level and readability score of any text using the Flesch-Kincaid formula. Find out what grade level your content targets.
SERP CTR Estimator
Estimate monthly organic traffic from search volume and SERP position. Uses industry-average click-through rates by ranking position to project traffic potential.
Results are estimates for informational purposes only and do not constitute professional financial, medical, legal, or technical advice. Read full disclaimer →