Just type (or Cut&Paste) the URL for the page you want to validate into the text field on the form and press the "Validate this page" button.
If you have a local file you want to validate, choose the "File Upload" link from the navigation menu. Select the button labelled "Browse..." (or something like that, depending on your browser) and choose the file you want to upload in the usual manner for your OS.
The W3C HTML Validation Service is a web gateway to a well known SGML parser called SP. SP will take your HTML and compare it to a set of objective syntax rules called a "DTD", a Document Type Definition. This way you can be sure your HTML is really valid and not just that it conforms to some random programmer's idea of "nice" HTML. Note that valid HTML does not guarantee that your pages will work ok in all browsers. Most of them are severly broken and you may need to find alternate ways of achieveing your goal.
When you send an URL to the W3C HTML Validation Service, it will fetch that URL and feed it to the SGML parser. If you upload a file it'll get fed directly into the SGML parser. We then take the output from the SGML parser and format it nicely as HTML and send it back to your web browser. The W3C HTML Validation Service isn't generating any of the error messages; they are all generated by the underlying SGML Parser which is checking your HTML against the actual standard for the version of HTML you are using.
In addition to the text field where you enter an URL -- or the file selection field if you are uploading files -- there are a few checkboxes that alter the behaviour of the validator. The options are:
ss
)outline
)sp
)noatt
)You can link directly to the Validator home page, or you can call the Validator CGI program. The home page is <URL:http://validator.w3.org/> at the moment (and for the forseeable future) and the CGI program can be reached at <URL:http://validator.w3.org/check>.
If you call the CGI program with extra path info matching "/referer" (i.e. <URL:http://validator.w3.org/check/referer>) it will fetch the refering document and validate that. This means that if you embed a link to that URL in your pages, following on that link will send you the validation results for that page.
You can also link to the validation results for a specific page. You do this by giving "check" an "uri" parameter pointing at the page you want to validate. For example <URL:http://validator.w3.org/check?uri=http://www.example.com/> will validate the www.example.com home page.
The various options are listed above in the section "The Options" in paranthesis after the long name. To add options to your links directly, append the options separated by a semi-colon. For example <URL:http://validator.w3.org/check?uri=http://www.example.com/;ss;outline;sp> will validate the example.com home page with "Show Source", "Outline" and "Show Parse Tree" on, but "Exclude Attributes" off.
You may also see these separated by amperstands and equal-signs, but this usage is deprecated and support may be removed at some time in the future.
Interpreting the error messages isn't quite what you'd call easy. The error messages are generated in the context of a full SGML environment which demands a somewhat higher level of technical detail then your average HTML document. We're working on ways to make the error messages more friendly, but for now feel free to email the www-validator@w3.org mailinglist if you need help interpreting the results. This will have the added benefit of letting us know which error messages are causing the most trouble so we can fix those first. Please be as specific as possible and include the exact error message and, preferably, an URL we can validate to see for ourselves.
You can download the Validator to tun on your own system, but it's not recommended for average users as the process is rather complex and involves obscure incantations on the command line. :-)
If you feel you're up to the task, you can find the information you need in our Developer Manual.