This tool crawls your website and checks the W3C validity of every page it finds. Enter your home page address and it will follow your internal links on its own, page after page, reporting how many errors and warnings each one contains.
Most validation services check one address at a time. That is fine for a single page, and useless for a site of forty. This one starts from the address you give it, downloads that page, collects every internal link it contains, and keeps going until it runs out of pages or reaches the limit of 1500. Each page found is submitted to a markup checking engine, and the number of errors and warnings comes back in the list above.
Nothing is installed and nothing is stored about your site. The analysis runs while the tab stays open, which is why the page refreshes by itself every few seconds: each refresh processes the next pages and updates the progress bar. Closing the tab simply stops the run.
A first run on a site that has never been checked usually returns an intimidating number. Do not take it at face value. Errors repeat: a single unclosed tag in a template that appears on every page produces one error per page, so three hundred errors can turn out to be one mistake made once. Start by opening the detailed report of the page with the most errors, fix what you find, and re-run the analysis. The count often collapses.
| What you see | What it means | Priority |
|---|---|---|
| Errors | Markup that breaks the HTML specification: unclosed elements, duplicate identifiers, attributes that do not exist, wrong nesting. | fix them |
| Warnings | Valid markup that is questionable or obsolete, such as an empty heading or a trailing slash on a void element. | worth a look |
| API connection error | The checking engine did not answer in time, usually because it is busy or your page is very large. Run the analysis again later. | not your fault |
The most frequent mistakes, with the exact correction for each one, are collected on our page about common HTML validation errors.
Only public pages can be checked. Anything behind a login form, a paywall or an IP restriction is invisible to the crawler, and so is any page your robots meta tags keep out of sight. Pages generated entirely by JavaScript after loading are fetched as the server sends them, which is exactly what a search engine crawler and a validator see first.
The crawler follows links inside your own domain only, so an external link is never followed. Files that are not web pages, images, archives, PDFs and the like, are skipped. Usage is capped at 80 analyses per 24 hours for each visitor, which is generous for normal work and keeps the service available for everyone.
Valid HTML is not a badge to display, it is a way of removing a category of problems before they cost you time. A browser that has to guess what you meant will guess, and two browsers may guess differently, which is how a layout ends up broken in one place and fine in another. Screen readers and automated tools are far less forgiving than browsers, so invalid structure often becomes an accessibility problem. Search engine crawlers parse your markup too, and a page whose structure is ambiguous gives them ambiguous content to work with.
That said, perfect validity is not the goal in itself. The honest picture of what validation does and does not bring to your ranking is set out on our page about HTML validation and SEO, and the relationship with accessibility is covered under validation and accessibility.
New to the subject? Start with what W3C validation is, then see the doctype and document structure guide. Working on a specific problem? The list of common errors and the page on CSS validation will be more useful. Quick questions are answered in the FAQ.