Meta Tag Extractor
Paste a full HTML document and get every head signal extracted into grouped tables: title, description, canonical, robots, Open Graph, Twitter cards, everything else with a name or property, and each JSON-LD block validated.
Parsed locally with DOMParser, no scripts run, nothing is uploaded.
What gets extracted
The extractor parses your HTML into an inert document, no scripts execute, then pulls every head signal into four groups. Core SEO covers the title tag with its character count, the meta description with its count, the canonical href, robots directives, viewport, charset, and the lang attribute on the html element. Open Graph and Twitter groups list every og: and twitter: property. Everything else with a name or property lands in Other meta. Each JSON-LD script is parsed, its type reported, and a parse failure flagged.
Reading the verdicts
A missing title is flagged as bad because a page without one has no headline anywhere. Missing description and canonical are warnings: Google will generate a snippet and assume the page is self-canonical, but in both cases you have surrendered control of something you could have set in one line. Invalid JSON-LD is flagged as bad because a single stray comma silently disqualifies the whole block from rich results.
Frequently asked questions
Why extract instead of just viewing source?
View-source gives you a wall of markup you have to scan by eye. The extractor groups tags by purpose, measures lengths, validates JSON-LD, and, most usefully, surfaces what is missing. An absent canonical or description is invisible in raw source because there is nothing to see.
What happens if a page has two meta descriptions?
Google uses the first one it encounters and ignores the rest, so a stray duplicate left by a plugin can silently override the description you wrote. This tool lists every occurrence, so duplicates show up as extra rows you can hunt down.
Does the order of meta tags matter?
Functionally no, browsers and crawlers read the whole head regardless of order. The one real exception is charset, which should appear within the first 1024 bytes of the document so the browser does not have to restart parsing with a different encoding.
Can this fetch a live URL?
Not yet, you paste the HTML instead. Browsers block arbitrary cross-origin fetches from client-side JavaScript (CORS), so a purely in-browser tool cannot download another site's page. Grab the source with view-source: or curl and paste it here.