What Makes an AMP Page Valid
AMP HTML is a strict subset of HTML with its own required boilerplate, restricted tag set, and no author-written JavaScript. This tool fetches the page server-side and checks it against those structural rules directly from the actual markup returned.
It's a structural check, not a full replacement for Google's own AMP Validator browser extension or the amp.dev validator, which parse against the complete, frequently-updated AMP specification. Use this for a fast first pass; treat the official validator as the final word before shipping.
How to Use This Tool
Enter the AMP URL
The AMP version of the page — often ending in /amp/ or ?amp — not the regular page, unless the whole site is AMP.
Run the check
The page is fetched server-side and its HTML is checked against AMP's core structural rules.
Work through the failures
Each failed check explains the requirement it tests and what is wrong.
Confirm with the official validator
For full spec coverage, finish with the AMP project's own validator at validator.ampproject.org.
The Core Requirements This Checks
- UTF-8 charset declared first in <head> — before any other tag.
- A rel=canonical link, even on AMP-only pages, which should point at themselves.
- A responsive viewport meta tag with width=device-width.
- The exact required AMP boilerplate CSS, plus its <noscript> fallback, unmodified.
- The AMP runtime script (cdn.ampproject.org/v0.js) loaded with async.
- At most one amp-custom style block, capped at 75KB.
- No author-written <script> tags beyond AMP components and JSON-LD.
- No raw <img> tags — AMP requires <amp-img> so the runtime can manage layout and lazy loading.
Why AMP Enforces These Rules
AMP's speed guarantee comes from removing the things that make pages slow and unpredictable to render: render-blocking custom JavaScript, unsized images that cause layout shift, and unbounded custom CSS. Every rule here exists to keep the page's rendering behavior predictable enough for AMP caches to pre-render it safely.
That's also why the checks are strict rather than advisory — a single missing boilerplate character or one stray <script> tag fails AMP validation entirely, unlike most SEO checks which are closer to graded advice.
Is AMP Still Worth Using?
Google removed the AMP requirement for Top Stories carousel eligibility in 2021, and Core Web Vitals became the general performance signal for all pages, AMP or not. AMP is no longer the shortcut to a specific ranking boost it once was.
It can still be worth using for publishers wanting the fastest possible page weight on mobile, or on platforms (like some CMSs and ad networks) that produce AMP output automatically. For most sites, achieving the same speed goals with the Core Web Vitals Checker and Page Weight Checker on a normal responsive page is now the more common path.
Finding a Page's AMP Version
A regular page advertises its AMP version with a <link rel="amphtml"> tag in the head, and the AMP page points back with a canonical link. View the source of the regular page and search for amphtml to find the URL to test.
If there is no amphtml link, either the site does not publish AMP or the pairing is broken — and a broken pairing means search engines cannot connect the two versions.
Turning AMP Off Safely
Many sites are removing AMP now that it no longer brings special treatment in search. Doing it badly leaves thousands of AMP URLs returning errors.
The safe order is: remove the rel="amphtml" link from your regular pages, then 301-redirect every AMP URL to its canonical page, and keep those redirects in place. Google's cached copies of AMP pages update as the redirects are recrawled. The Redirect Checker confirms each AMP URL now lands on the right page in one hop.
Frequently Asked Questions
My page isn't AMP — why does it say that?
The tool looks for the <html amp> or <html ⚡> attribute, which every valid AMP page must declare. If the page links to a separate AMP version via a rel=amphtml tag, the tool tells you that URL — run the check against that URL instead.
It says my boilerplate is missing but I copied it from Google's docs.
The boilerplate CSS must be byte-for-byte exact, including both the <style amp-boilerplate> block and its <noscript> fallback. A build tool that minifies or reformats CSS can accidentally alter it — check the raw served HTML, not your source template.
Is this the same as Google's official AMP Validator?
No — this checks the core structural rules server-side from the fetched HTML. Google's own validator (available as a browser extension or at validator.ampproject.org) checks against the full, continuously updated AMP specification and is the authoritative source before publishing.
Why does it flag my <img> tags?
AMP requires <amp-img> instead of plain <img> so the AMP runtime can manage sizing and lazy-loading. A raw <img> tag is invalid AMP HTML even if it renders fine in a normal browser.
Does Google still support AMP?
Yes, AMP pages are still valid and can be served in results, but they no longer receive special treatment. Since 2021 AMP has not been required for the Top Stories carousel, and the AMP badge was removed.
How do I check if a page is AMP?
Look for the lightning-bolt attribute on the <html> tag — <html amp> or <html ⚡> — or run the URL through this validator, which reports whether the page declares itself as AMP before checking anything else.
Should I remove AMP from my site?
If your regular pages already load fast and pass Core Web Vitals, AMP adds maintenance for little benefit. If you remove it, redirect every AMP URL to its canonical page rather than deleting them.
Related Tools
Core Web Vitals Checker
Check real performance scores for the non-AMP version of a page.
Page Weight Checker
See what a page actually weighs, AMP or not.
Canonical Tag Checker
Verify the canonical relationship between AMP and non-AMP versions.
Schema Markup Validator
Check the structured data on the page alongside its AMP markup.