About ValidateHTML

ValidateHTML is a free set of validators for HTML, CSS, XML, JSON and web accessibility. No account, no sign-up, no upload limit, and your code is never stored.

Who builds it

One person. I am Théo Ducreux, an independent developer based in France, and I build and maintain all of it: the ten tools, the fix guides, the validation rules, and the crawler behind the study.

To answer plainly the three questions I am asked most:

  • ValidateHTML is not a company. There is no team, no funding and no investors.
  • It is not an open source project. The site, the quality score, the crawler and the rules that decide which findings are trustworthy are closed source.
  • The principal maintainer is me, and only me.

This section exists because a reporter went looking for it in August 2026, found nothing on the site, and had to email to ask. That was a fair complaint.

What it runs on

The parsers are not mine, and claiming otherwise would be dishonest. Specification accuracy matters more than authorship, so each tool uses the engine that models its standard most faithfully:

  • HTML: html-validate, on its standard preset
  • CSS: csstree-validator for semantics, lightningcss for modern syntax
  • XML: fast-xml-parser
  • JSON: the native JSON parser, which is the specification

Those projects do the hardest part of the work. What is mine is everything around them: the interface, the quality score, the crawler behind the study, and the rules deciding which findings are reliable enough to show you. That last one is most of the work. A validator reporting errors that are not errors is worse than no validator at all, so a finding the engine cannot be trusted on is dropped rather than reported.

The study

In August 2026 I pointed these validators at the Tranco top 5,000 domains and measured what came back. 2,656 sites were reachable. 87.2% of them violate the HTML specification somewhere, and only 2.6% are completely clean, meaning zero errors and zero best-practice warnings.

The full methodology, the dataset and a dated corrections log are on the study page. The corrections log is the part I would point a skeptical reader at first: the headline number was revised twice after readers found genuine mistakes in the first edition, and the corpus was re-crawled on the corrected rules each time rather than adjusted after the fact.

Press coverage

The study has been covered by:

  • The Register: Almost nobody pays attention to web standards anymore
  • TechRadar Pro: Coders are slacking when it comes to web standards
  • heise online: 87 Prozent der Top-Seiten fehlerhaft (German)
  • Techzine: Nearly nine out of ten websites contain invalid HTML
  • devclass: Almost nobody pays attention to web standards anymore
  • SoylentNews: Almost Nobody Pays Attention to Web Standards Anymore
  • ZDNet.fr: Seuls 2,6 % des sites sont irreprochables (French)

Journalists and researchers: I answer questions quickly, and I am happy to share the raw dataset or run a custom cut of it, for example the results for a single country or sector. Write to contact@validatehtml.com.

What it checks

  • HTML5 specification compliance
  • CSS syntax and property validation
  • Missing or incorrect attributes
  • Deprecated elements and attributes
  • Incorrect tag nesting
  • Accessibility issues (alt text, heading hierarchy, ARIA)
  • Best practices and code quality

Severity is a contract, not a matter of taste. An error is a violation of the specification, something that would survive a hostile developer holding the standard. A warning is best practice, and the code is still valid. Rules that do not meet that bar are demoted or removed, which has happened several times after readers reported them.

The quality score

Every validation produces a quality score from 0 to 100, with a letter grade (A through F). The score is based on the number of unique issue types found, not on how many times each one occurs. Each distinct error type multiplies the score by 0.85, so one error scores 85 and two score 72, and the number keeps moving however many you have rather than bottoming out. Each distinct warning type costs 3 points, capped at 15 in total, so best-practice advice can never drag valid code below a B. Repeated occurrences of the same issue do not stack, so the score reflects the variety of problems, not just the count.

Privacy

Your code is processed on our servers for validation and is not stored, logged, or shared. See our Privacy Policy for details.

Contact

Found a bug, or a finding you believe is wrong? That is the most useful message you can send, and several of the rules above exist because someone did. Reach out at contact@validatehtml.com.