Site-wide markup validator. Validate a whole web site on the W3C Markup Validator, from the command line, and generate a comprehensive report of all errors found.

This is the command-line version of w3clove.com


w3clove is a Ruby gem that can be installed on the usual way

gem install w3clove


Pass it a starting URL to be checked, and the filename where you want your report to be generated, like:

w3clove http://ryanair.com/sitemap.xml report.html

This will validate all the internal URLs found on the starting URL, up to a maximum of 250 URLs, and generate an HTML file with the full report.

You can pass w3clove an XML sitemap or the URL of a website; it will scrape it in search of URLs to validate.


By default, the w3clove gem will set a 20 seconds timeout for each individual request. If you want to set a different timeout, pass it as a third parameter like this:

w3clove http://ryanair.com/sitemap.xml report.html 60

Using an alternate validation server

By default, the w3clove gem will use the official W3C Validator server at validator.w3.org but you can use an alternate server if you want. To do this, define an environment variable on your machine, like:

ENV['W3C_MARKUP_VALIDATOR_URI'] = 'http://example.com/validator'

Follow this guide to know how to setup your own validation server: github.com/tlvince/w3c-validator-guide


This gem requires Ruby 1.9, and has been tested on Ruby 1.9.2-p0


This is a free, open source project with a MIT license. See the file MIT-LICENSE for details.