Toolvore

Website Meta / SEO Tag Checker

Inspect a page's title, meta description, and Open Graph tags.

This tool sends your query through our server to look up live data. We don't store it, and no files are ever uploaded — though the upstream service answering the lookup sees the query too.

Fetches a page from our server and lays out the tags search engines and social platforms read from it — title, meta description, canonical, robots, viewport, Open Graph and Twitter Card — marking anything absent as Not set.

How to use it

  1. 1Paste a page URL and click Check.
  2. 2Read the three bordered blocks in turn: Basics, Open Graph, then Twitter Card.
  3. 3Compare the og:image value with the preview image rendered below the blocks.

Example

Input
https://example.com
Output
Title "Example Domain", Viewport "width=device-width, initial-scale=1", and every other field — description, canonical, robots, all Open Graph and Twitter tags — reading Not set

Tags are pulled out with regular expressions over the raw HTML rather than by building a DOM, so attribute values must be quoted to be seen, and only meta tags carrying both a name or property and a content attribute are collected. Tags added by client-side JavaScript never show up, because the page is fetched but never executed. Up to five redirects are followed; a page answering 4xx or 5xx reports "The site responded with status 404." instead of an empty result.

What happens to your data

The page is retrieved by our server, not by your browser: /api/meta issues the request from our host with the User-Agent "toolbox-meta-checker/1.0", so the site being checked logs that visit against us and shows whatever it shows an unknown crawler — a page behind a login returns the login page's tags. Only the first 500,000 characters of HTML are scanned and only the listed tags are extracted; the body text is dropped without being parsed or kept. The og:image preview is the exception your own browser loads, since that img element points straight at the third-party image URL.

Last updated August 2026

You paste a link into a chat and the preview comes back with the wrong picture, the site's name instead of the article's title, or nothing at all. Or a page has been live a fortnight and still is not showing up in search. Both roads lead to the same few tags in the head of the document — the ones everything else reads before deciding what to display.

Decide first which question you are actually asking, because they are not the same one. What the page declares is a literal string sitting in its HTML right now, and that is what a checker can tell you. What a given platform will show depends on that platform's own scraper, its cache, and its rules about image size and format. A tag can be exactly right and the preview still wrong, because the preview was built days ago from an older version of the page and kept.

The tags are also weaker than most people assume. Nearly all of them are declarations rather than instructions: a title can be swapped out in results for something judged a better fit for the query, a description is rewritten freely, and a canonical is a strong hint rather than an order. Robots is the one that is obeyed.

The common mistake follows from that — fixing a tag and assuming the world has noticed. Nothing re-reads a page because you saved it. Search engines come back when they come back, and social platforms hold their cached preview until something asks them to look again, usually a debugging tool the platform publishes itself.

How it works

Toolvore takes whatever you type, adds https:// when you leave the scheme off, and resolves the hostname before anything is requested: an address landing on a private, loopback or link-local range is refused outright with a message about private network addresses, so a machine on your own network cannot be reached through it. Eight seconds is the entire budget, after which the attempt is abandoned with 'The request timed out.' The reading that follows is literal in ways worth knowing. Where two tags share a name, the first in the document is reported and the second is invisible. A value is cut at the first quote character inside it, so a description containing a straight apostrophe — Britain's best — comes back as Britain, with nothing on screen to say it was truncated. The canonical link is recognised only when rel is written before href; the same valid element with its attributes the other way round reads Not set. On the forgiving side, name and property are accepted interchangeably, so og: tags declared either way are found.

Common use cases

  • Working out why a link shared in a chat shows the wrong picture
  • Confirming a page shipped with its canonical pointing at itself
  • Checking the robots value before investigating a page missing from search
  • Comparing og:title against the title element after a template change
  • Spot-checking the tags on a competitor's page that outranks yours
  • Telling a client plainly what their page declares about itself

Frequently asked questions

What is a meta description, and how long should it be?

A meta description is a sentence in the head of the page proposing how it should be summarised in a result listing. It is not a ranking signal, and search engines replace it freely when some other passage matches the query better, which is why the words you wrote are often not the words people see. Truncation is decided by pixel width rather than character count, so the familiar rules of thumb — roughly sixty characters for a title, around a hundred and fifty-five for a description — are conversions from that and shift by device. Nothing here counts characters for you; the full value is printed, so judge it by eye.

Why does my link preview show the wrong image when I share the page?

Three causes, roughly in order. The platform cached a preview from an earlier version and will serve it until its own debugger is asked to scrape the URL again. The og:image value is a relative path, where scrapers need an absolute one starting https. Or the image fails that platform's rules on dimensions, aspect ratio or format. The preview drawn below the results is a real check on the last two, because it is your own browser loading that exact address — if it comes back broken there, no scraper will do better. A shared link carrying a query string can also count as a different URL entirely.

Do I still need Twitter Card tags if the page already has Open Graph?

Mostly not. X falls back to Open Graph, so a page with og:title, og:description and og:image produces a card with no twitter: tags at all. The one worth setting is twitter:card, which chooses the shape: a small square thumbnail beside the text, or the wide image most people are after. The twitter: versions of title, description and image exist for when a card should deliberately differ from what other platforms show, which is rare and a maintenance cost you probably do not want. An empty Twitter block sitting beside a full Open Graph one is usually correct rather than a fault.

Why do the tags look right in my browser but a checker says they are missing?

Because you are looking at two different documents. The Elements panel in developer tools shows the page after scripts have run and rewritten it; view-source shows what the server actually sent, and that is what a crawler receives. A tag present in one and absent from the other is being written by JavaScript after load — the default for frameworks that render in the browser unless server-side rendering or prerendering is turned on, and a habit of some SEO plugins too. Compare view-source with your template before blaming the checker. Failing that, suspect a CDN handing an older copy to anyone not signed in.

Can I check a staging site or a page behind a login?

Not from here, and for two different reasons. A hostname resolving to a private, loopback or link-local address is rejected before any request goes out, which covers localhost, the 192.168 and 10.x ranges, and anything that only resolves inside a company network. A public URL sitting behind basic auth or a password page will be fetched, but what comes back describes the gate rather than the page you meant. For either case, read the built HTML on your own machine, or publish to a preview URL that is public but held out of search with a robots meta tag.

Does checking a URL here leave a record anywhere?

Two things leave your machine. The URL travels to our own route as a query parameter on a GET request, the shape ordinary web server logs record; that route writes it to no database. The page itself is then fetched by our server, so the site being checked sees a request from our host. The preview image is the exception — your browser has to request it directly from whoever hosts it, so your address reaches that third party even though the page fetch did not. Results are held in the page's state alone: reload and they are gone. No account, no history, nothing to clear.

What is a canonical tag and when do I need one?

It names the address you want treated as the real one when the same content is reachable at several. Tracking parameters, session ids, print versions, http against https, with and without a trailing slash — each is a separate URL to a crawler, and left alone they compete with one another. Most templates emit a canonical pointing at the page itself, which is the sensible default. The expensive failure is a template pointing every page at the homepage, or at a staging domain after a migration: the hint is usually honoured, so whole sections quietly drop out of search. It is the field worth reading on every page you check.

My page is not indexed — is a meta tag to blame?

Check robots first, because it is the one value here that is an instruction rather than a suggestion, and a noindex left behind by a staging build is the commonest single cause of a page that will not appear. Read it precisely: noindex removes the page, nofollow only concerns the links on it, and the two get muddled constantly. Note too that noindex and a robots.txt block fight each other — a URL disallowed in robots.txt is never fetched, so the noindex on it is never seen, and the address can linger in results with no description under it. If robots is clean, look at internal links and patience.