Meta Tag Checker

A meta checker that measures instead of counting: a page's title and meta description in pixels, where Google's results cut them, then whether the page can be indexed and how its link looks when shared.

One read from our server, headers included · widths in Arial against the room observed on Google's results · Google, Bing and Yandex read separately · the share image's real size

How long should a meta description be?

As long as it takes to describe the page: Google sets no maximum and cuts the snippet to fit the screen's width, not at a character count. Third parties measure that room at about 920 pixels on desktop and 680 on a phone, which a typical English sentence fills, by our measurement, at around 150 and 110 characters.

In Google's words: “There's no limit on how long a meta description can be, but the snippet is truncated in Google Search results as needed, typically to fit the device width” (Google). Width is the unit, so the letters decide. Measured in Arial at 14 px, iiiiii is 19 px wide and WWWWWW 79 px; Japanese characters are full-width, so the same room holds about half as many; Korean, written with spaces, about two-thirds.

That's why the familiar “155 to 160 characters” is a rule of thumb, not a limit, and why a meta description checker that counts characters can be wrong both ways. A 129-character description in sentence case fits a desktop result with room to spare; the same words in capitals run 155 px past the edge. Advice like “50–60 characters, i.e. 580 pixels” treats the two units as interchangeable, and they aren't.

Length costs nothing in ranking: Google said in 2009 that it doesn't use the description for ranking, and its documentation names no penalty for a long or missing one. Google also writes its own snippet from the page much of the time; two third-party studies saw it replace the description in about two results out of three. Write for the reader: unique to the page, a real summary, never a list of keywords, with the important words first.

The one place Google does count characters is the robots rule max-snippet: its number is a count of characters, with 0 meaning no snippet and -1 letting Google choose (Google).

Same number of characters, different widthsDesktop: about 920 pxCut point
Narrow lettersiiiiii19 pxWide lettersWWWWWW79 px
As written129 characters793 px wideFits

Free returns on all hiking boots. Waterproof leather, grippy soles and a two-year guarantee. Order by 3 pm for next-day delivery.

The same words in capitals129 characters1,075 px wideCut point

FREE RETURNS ON ALL HIKING BOOTS. WATERPROOF LEATHER, GRIPPY SOLES AND A TWO-YEAR GUARANTEE. ORDER BY 3 PM FOR NEXT-DAY DELIVERY.

Rooms observed by third parties; Google publishes none.

Both rows hold the same characters. The sentence-case one fits a desktop result; the capitals run past the edge and end in “…”. A character count can't tell the two apart.
Meta tag checker result: a title and description measured in pixels, the noindex verdict per engine and the share cardsMeta tag checker result: a title and description measured in pixels, the noindex verdict per engine and the share cardsMeasured, not countedThe title and description at the size a results page draws them, with the ruler showing where each is cut on desktop and on a phone.Indexing, per search engineThe robots meta tags and the X-Robots-Tag header, read the way Google, Bing and Yandex each read them.What Google never readsAn element that ends the head early, its line, and every tag it hides.How it looks sharedThe cards Facebook and X build from the tags, with the image's real size read from the file.
A check of a made-up shop: the search preview with its pixel ruler, the indexing verdict per engine and the share cards. Select a number to see what each part shows.

How long should a title tag be?

Long enough to name the page, and short enough to fit about 600 pixels, the room third parties measure for a desktop title link: roughly 50 to 60 characters of typical English. Google itself sets no limit and cuts the title link “to fit the device width”.

Google's title link guide says “there's no limit on how long a <title> element can be”, but asks you to avoid “unnecessarily long or verbose” text. A study of 80,959 titles on 2,370 sites found Google rewrote titles over 70 characters nearly every time, and those of 51 to 55 characters about 40% of the time.

The <title> is one input, not the output. Google builds the title link automatically from the title element, the page's main visible title and headings such as <h1>, og:title, other prominent text, anchor text, the text of links pointing to the page, and WebSite structured data. It replaces a title that is missing, boilerplate, stuffed with keywords, or in a different language or script from the page.

So give every page its own descriptive title, put the site name once at the start or the end, set off by a separator such as a pipe, and avoid vague titles like “Home”. The checker above reads the page's first <h1> too, since Google may take the title link from either.

A title cut at the edge, and where else Google looksShownCut offAbout 600 px at 20 px (observed)
Waterproof Hiking Boots for Men and Women – Free Returns …690 px
Where Google may take a title link from
  1. 1The title element
  2. 2The main title shown on the page
  3. 3Headings such as h1
  4. 4The og:title tag
  5. 5Other large, prominent text
  6. 6Other text on the page
  7. 7Anchor text on the page
  8. 8Text of links pointing to the page
  9. 9WebSite structured data
The title element is the first of nine sources Google lists for a title link. Past about 600 px on desktop, the rest of the title is replaced by “…”.

Noindex checker: how do I check if a page is noindex?

Look in two places: the robots meta tag in the HTML and the X-Robots-Tag HTTP header. The header never shows in View Source, so a noindex checker that reads only the HTML can call a page indexable when it isn't; this one reads both, for Google, Bing and Yandex.

A noindex tag and the header carry the same rules, and Google adds them up: with noindex in the header and all in the tag, the page is noindex, because “the more restrictive rule applies” (Google). none means noindex, nofollow; Google's own noindex page calls nofollow a hint. With no tag at all, the default is index, follow. The HTTP Header Checker shows every header a page sends.

Yandex settles a conflict the other way: “Allow directives take priority when combined with prohibiting ones”, so all beside noindex, follow stays indexed there (Yandex). That's why the verdict above is given per engine, not once for all of them.

The trap is robots.txt. A URL blocked there is never fetched, so its noindex is never read, and it can still appear in results when other pages link to it (Google). To keep a page out, let it be crawled and give it a noindex; noindex written in robots.txt isn't supported at all. And a new noindex works only once Google recrawls the page, which can take months.

One page, two places, three engines
HTMLIn View Source<meta name="robots" content="all">
HTTP headerNot in View SourceX-Robots-Tag: noindex
Search engineHow it settles a conflictThis page
GoogleThe most restrictive rule winsKept out
BingThe most restrictive rule winsNo rule published; read as GoogleKept out
YandexThe allowing rule winsCan be indexed

Blocked in robots.txt: the page is never fetched, so its noindex is never read.

The same two rules give different answers: Google adds the header's noindex to the tag, while Yandex, by its documented rule, lets the allowing rule win. A robots.txt block hides both from every engine.

Why does Google ignore some of my meta tags?

Often because an element that doesn't belong in the <head>, such as an <img> or an <iframe>, sits above them. Google treats it as the end of the head and ignores every element after it (Google).

Only eight elements are valid in the head: title, meta, link, script, style, base, noscript and template. A tracking pixel pasted in with a tag snippet, a stray <div> or an embedded <iframe> ends it early, and the canonical, the hreflang links and the description below it are lost without an error anywhere. A meta tag analyzer that only collects every tag in the file still reports them all as present.

Not everything is lost. Google respects robots meta tags in the body as well, so a noindex after the cut still applies. A canonical doesn't: Google accepts it only in the head (Google). The checker above names the element and its line, and lists the tags Google no longer reads.

Tags that JavaScript adds or changes are the other blind spot. Google recommends avoiding it where possible and setting the canonical in the HTML source (Google), so this checker reads the HTML the server sends.

Where Google stops reading the headRead by GoogleIgnored by Google
4<meta charset="utf-8">
5<title>Waterproof Hiking Boots for Men and Women – …</title>
6<link rel="stylesheet" href="/theme.css">
7<img src="https://px.example/p.gif" alt="">Google stops here
line 7
8<meta name="description" content="Free returns on all hi…">Ignored by Google
9<link rel="canonical" href="https://store.example/boots">Ignored by Google
10<link rel="alternate" hreflang="de" href="https://store.example/de/stiefel">Ignored by Google
11<meta name="robots" content="max-snippet:160">Still applies: robots tags count in the body too
A tracking pixel on line 7 ends the head for Google. The description, canonical and hreflang links below it are never read; the robots tag still is.

What does a canonical tag do?

It tells search engines which of several URLs with the same content you want shown, and it is a hint, not a rule: “Google may choose a different page as canonical than you do” (Google).

Google weighs it with other signals: a redirect is the strongest, rel=canonical a strong one, a sitemap a weak one, and none of them is required (Google). Put a self-referencing canonical on the page you want shown, write it as an absolute URL, keep it in the <head>, and don't add hreflang, lang, media or type to it, or Google ignores it for choosing the canonical. The Redirect Checker follows every hop of a redirect.

Two conflicts to avoid. A canonical on a noindex page sends signals that contradict each other, and Google advises against using noindex to choose a canonical at all. And a canonical pointing to another site that nobody here set deserves a look: Google lists an injected cross-domain canonical as a sign of a hacked site.

Language versions are matched with hreflang instead: each version lists itself and all the others with full URLs, and two pages that don't point at each other are ignored. Codes are an ISO 639-1 language with an optional ISO 3166-1 region: en-GB, never en-UK, and es-419 isn't supported (Google). Point each language version's canonical at a URL in that same language.

Duplicates fold into one, languages pair up

Same content, several URLs

http://store.example/bootshttps://store.example/boots?utm_source=mailhttps://www.store.example/bootshttps://store.example/boots/
Canonicalhttps://store.example/bootsA hint: Google may pick another

Signals, strongest first

Redirectrel=canonicalSitemap
StrongWeak

An hreflang pair

en/en/boots
de/de/stiefel

Both link back: used

en/en/boots
fr/fr/bottes

Only one way: ignored

Left: four addresses for one page fold into the canonical, which Google may still overrule. Right: two language versions count only when each links to the other and to itself.

What are Open Graph tags and Twitter cards?

They are the meta tags that decide the title, text and image a link shows when it's shared. Open Graph has four required properties, og:title, og:type, og:image and og:url (OGP); X reads its own twitter: tags and falls back to these og tags for the rest.

Facebook asks for an image of at least 1200 × 630 px, close to 1.91:1 and no more than 8 MB; 600 × 315 px is the minimum for a link post, and nothing under 200 × 200 px is accepted (Facebook). Add og:image:width and og:image:height: without them the crawler has to download the image first, so the first person to share the link sees no image. As an Open Graph checker, this page reads the image's real size from the file itself.

X's last published card documentation, archived in December 2023, asked for a 2:1 image of at least 300 × 157 px for summary_large_image, a square of at least 144 × 144 px for summary, under 5 MB and never SVG (X, archived). Without twitter: tags, X uses og:title, og:description and og:image, but may show only the small summary card until twitter:card asks for the large one.

Both networks cache what they read: Facebook keeps an image until its URL changes. Its Sharing Debugger re-scrapes a page and needs a Facebook login. X no longer offers a public Card Validator that works: on 26 October 2026 its address led only to a login and then an error. The practical check left is to paste the link into a new post without publishing it.

One page, three cards
Facebook
1.91:1
1.91:1 · at least 1200 × 630 px · up to 8 MB
X · summary_large_image
2:1
2:1 · at least 300 × 157 px · under 5 MB
X · summary
1:1
1:1 · at least 144 × 144 px · cropped to a square

No twitter: tags? X falls back to og:title, og:description and og:image.

X: its last published documentation, archived in 2023

The same tags drawn three ways, each image box at the shape its network documents. Facebook's numbers are from its current guide; X's from the documentation it last published.

Which meta tags does Google actually use?

A short list: description, robots and googlebot, notranslate, nopagereadaloud, google-site-verification, the Content-Type and charset declarations, refresh, viewport and rating. Google simply ignores the meta tags it doesn't support (Google).

The meta keywords tag is the best-known one it ignores: Google's documentation says it “is not used by Google Search, and it has no effect on indexing and ranking at all”, and Google announced in 2009 that it had stopped using it. Google doesn't use the lang attribute to detect a page's language either, and rel=next and rel=prev no longer do anything. Of the Open Graph tags, Google documents only og:title, as one source for title links.

Some tags matter even where Google doesn't count them. Screen readers and browsers use lang. Without a viewport tag, a phone lays the page out about 980 CSS pixels wide and shrinks it, so styles for narrow screens never apply (MDN); Google says the tag's presence tells it a page is mobile friendly. And <meta charset> must sit within the first 1,024 bytes of the file, the only part browsers search for it (HTML).

Two more are worth a look. refresh works as a redirect, but Google recommends a server-side 301 instead. And noarchive, retired at Google, still decides at Bing whether content may appear in its chat answers (Bing).

What Google does with each tag

Google uses it

<meta name="description">Sometimes becomes the snippet
robots · googlebotIndexing and snippet rules
<title>One source of the title link
og:titleAnother source of the title link
viewportRead as a sign of a mobile-friendly page
charsetFound only in the first 1,024 bytes
refreshWorks, but a 301 is better

Google ignores it

keywordsNo effect on indexing or ranking
rel=next · rel=prevNo longer used

Not for Google, still matters

<html lang>Not used to detect the language; screen readers use it
og:imageUsed by Facebook and X
noarchiveRetired at Google, used by Bing
Google's own list of the meta tags it supports, against the ones it says it ignores. A tag Google ignores does no harm; some still matter to browsers, screen readers and social networks.

Sources

Meta tag checker: questions and answers

What is the meta description character limit?

There isn't one. Google says there's no limit on how long a meta description can be, and it cuts the snippet to fit the device's width. So the real limit is pixels: about 920 on desktop and 680 on a phone, as third parties measure them. A typical English sentence fills that at around 150 and 110 characters; capitals and wide letters fill it sooner. This meta description checker measures yours in pixels.

How long should a title tag be?

Aim for what fits about 600 pixels, the room third parties measure for a desktop title link, which is roughly 50 to 60 characters of typical English. Google sets no limit, but it cuts longer titles and rewrites very long ones more often: one study found titles over 70 characters rewritten nearly every time. Put the words that matter first and the site name last.

How do I check if a page is noindex?

Enter its address above. We read the page's robots meta tags, including any in the body, and its X-Robots-Tag header, then show what Google, Bing and Yandex will each do. By hand, search View Source for noindex and look at the response headers in your browser's developer tools: a noindex sent in the header never appears in the HTML.

What does noindex, nofollow mean?

noindex asks search engines not to show the page in their results; nofollow asks them not to follow the page's links, which Google's own noindex page calls a hint. none means both. noindex, follow keeps the page out of results while its links may still be followed. Neither hides the page from visitors, and both work only if crawlers can fetch the page, so don't also block it in robots.txt.

Should I block a page in robots.txt or use noindex?

Use noindex to keep a page out of search results, and leave it crawlable. robots.txt only stops crawling: a blocked URL can still be indexed from links on other pages, and the crawler never sees the noindex on it. Google doesn't support noindex written in robots.txt either. Use robots.txt to save crawling on pages that don't matter, not to hide them.

What is the difference between the meta robots tag and X-Robots-Tag?

They carry the same rules in two places. The meta robots tag sits in a page's HTML; X-Robots-Tag is an HTTP response header, the only way to apply the rules to a PDF or an image, and handy for a whole site from the server's configuration. When both are present, Google applies the most restrictive rule. The header isn't in View Source, so a forgotten one is easy to miss.

Why does Google show a different meta title and description than mine?

Because both are inputs, not orders. Google writes title links from the title element, headings, og:title, anchor text and more, and replaces titles that are missing, boilerplate, stuffed with keywords or in another language. It builds snippets mostly from the page's content and uses your description when that describes the page better. Third-party studies saw it replace the description in about two results out of three.

How do I check Open Graph tags for Facebook?

Enter the page's address above. We list every og: tag, read the og:image file's real size and compare it with Facebook's documented 1200 × 630 px recommendation and 8 MB limit. Facebook's own Sharing Debugger shows what its crawler saw and can re-scrape the page to refresh its cache, but it needs a Facebook login. Fix the tags here first, then re-scrape there.

Is the Twitter Card Validator still available?

Not in a form anyone can use. When we checked on 26 October 2026, the validator's address sent visitors to an X login and then answered with an error, and X's current developer documentation has no section on cards. The practical check left is to paste the link into a new post without publishing it. Our checker shows the twitter: tags X reads and the Open Graph tags it falls back to.

Does Google still use the meta keywords tag?

No. Google says the keywords meta tag is not used by Google Search and has no effect on indexing and ranking at all. It announced in 2009 that it had already been ignoring the tag for years, because the tag was so often abused. It does no harm either, so this checker only notes it. Spend the effort on the title and the description instead.

Do I need a viewport meta tag?

Yes, on any page meant for phones. Without it, mobile browsers lay the page out in a virtual window about 980 CSS pixels wide and shrink it to the screen, so the styles a responsive layout writes for narrow screens never apply. A tag with width=device-width is enough; MDN notes that initial-scale=1 is usually unnecessary. Google says the tag tells it the page is mobile friendly.

Does this meta tag checker run JavaScript?

No. It reads the HTML your server sends, which is the version Google advises getting right: it recommends against adding or changing meta tags with JavaScript, and wants the canonical in the HTML source. If a page's title or tags appear only after its scripts run, they show here as missing, which is worth fixing. The CMS Detector shows which framework builds the page.

Missing something?Suggest a feature or a new tool