NAME

vnu – The Nu Html Checker

SYNOPSIS

On Linux or macOS

vnu-runtime-image/bin/vnu [OPTIONS]... FILES|DIRECTORY|URL...

On Windows

vnu-runtime-image\bin\vnu.bat [OPTIONS]... FILES|DIRECTORY|URL...

On any system with Java8+ installed

java -jar ~/vnu.jar [OPTIONS]... FILES|DIRECTORY|URL...

vnu [OPTIONS]... FILES|DIRECTORY|URL...

Where:

DESCRIPTION

The Nu Html Checker (vnu) helps you catch unintended mistakes in your HTML, CSS, and SVG. It enables you to batch-check documents from the command line and from other scripts/apps, and to deploy your own instance of the checker as a service (like https://validator.w3.org/nu/).

OPTIONS

When used from the command line, the vnu checker provides these options:

--asciiquotes

Specifies whether ASCII quotation marks are substituted for Unicode smart
quotation marks in messages.

default: [unset; Unicode smart quotation marks are used in messages]

--skip-info-messages

Specifies that only error-level messages and non-document-error messages 
and warnings are reported — but not info messages.

default: [unset; all messages reported, including warnings & info messages]

--errors-only

Specifies that only error-level messages and non-document-error messages are
reported (so that warnings and info messages are not reported).

default: [unset; all messages reported, including warnings & info messages]

--Werror

Makes vnu exit non-zero if any warnings are encountered (even if
there are no errors).

default: [unset; checker exits zero if only warnings are encountered]

--exit-zero-always

Makes vnu exit zero even if errors are reported for any documents.

default: [unset; checker exits 1 if errors are reported for any documents]

--stdout

Makes vnu report errors and warnings to stdout rather than stderr.

default: [unset; checker reports errors and warnings to stderr]

--filterfile FILENAME

Specifies a filename. Each line of the file contains either a regular
expression or starts with "#" to indicate the line is a comment. Any error
message or warning message that matches a regular expression in the file is
filtered out (dropped/suppressed).

default: [unset; checker does no message filtering]

--filterpattern REGEXP

Specifies a regular expression. Any error message or warning message that
matches the regular expression is filtered out (dropped/suppressed).

As with all other checker options, this option may only be specified once.
So to filter multiple error messages or warning messages, you must provide a
single regular expression that will match all the messages. The typical way
to do that for regular expressions is to OR multiple patterns together using
the "|" character.

default: [unset; checker does no message filtering]

--format format

Specifies the output format for reporting the results.

default: "gnu"

possible values: "gnu", "xml", "json", "text" [see information at URL below]

https://github.com/validator/validator/wiki/Service-%C2%BB-Common-params#out

--help

Shows detailed usage information.

--skip-non-css

Check documents as CSS but skip documents that don’t have *.css extensions.

default: [unset; all documents found are checked]

--css

Force all documents to be checked as CSS, regardless of extension.

default: [unset]

--skip-non-svg

Check documents as SVG but skip documents that don’t have *.svg extensions.

default: [unset; all documents found are checked]

--svg

Force all documents to be checked as SVG, regardless of extension.

default: [unset]

--skip-non-html

Skip documents that don’t have *.html, *.htm, *.xhtml, or *.xht extensions.

default: [unset; all documents found are checked, regardless of extension]

--html

Forces any *.xhtml or *.xht documents to be parsed using the HTML parser.

default: [unset; XML parser is used for *.xhtml and *.xht documents]

--xml

Forces any *.html documents to be parsed using the XML parser.

default: [unset; HTML parser is used for *.html documents]

--also-check-css

Check CSS documents (in addition to checking HTML documents).

default: [unset; no documents are checked as CSS]

--also-check-svg

Check SVG documents (in addition to checking HTML documents).

default: [unset; no documents are checked as SVG]

--user-agent USER_AGENT

Specifies the value of the User-Agent request header to send when checking
HTTPS/HTTP URLs.

default: "Validator.nu/LV"

--no-langdetect

Disables language detection, so that documents are not checked for missing
or mislabeled html[lang] attributes.

default: [unset; language detection & html[lang] checking are performed]

--no-stream

Forces all documents to be be parsed in buffered mode instead of streaming
mode (causes some parse errors to be treated as non-fatal document errors
instead of as fatal document errors).

default: [unset; non-streamable parse errors cause fatal document errors]

--verbose

Specifies "verbose" output. (Currently this just means that the names of
files being checked are written to stdout.)

default: [unset; output is not verbose]

--version

Shows the vnu version number.

EXAMPLES

The examples in this section assume you have the vnu-runtime-image/bin or vnu-runtime-image\bin directory in your system PATH environment variable. If you’re using the jar file instead, replace vnu in the examples with java -jar ~/vnu.jar.

To check one or more documents from the command line:

  vnu-runtime-image/bin/vnu      FILE.html FILE2.html FILE3.html...

  vnu-runtime-image\bin\vnu.bat  FILE.html FILE2.html FILE3.html...

  java -jar ~/vnu.jar            FILE.html FILE2.html FILE3.html...

To check all documents in a particular directory DIRECTORY_PATH as HTML, but skip any documents whose names don’t end with the extensions .html, .htm, .xhtml, or .xht:

  vnu --skip-non-html DIRECTORY_PATH

To check all documents in a particular directory as CSS:

  vnu --css DIRECTORY_PATH

To check all documents in a particular directory as CSS, but skip any documents whose names don’t end with the extension .css:

  vnu --skip-non-css DIRECTORY_PATH

To check all documents in a particular directory, with documents whose names end in the extension .css being checked as CSS, and all other documents being checked as HTML:

  vnu --also-check-css DIRECTORY_PATH

To check all documents in a particular directory as SVG:

  vnu --svg DIRECTORY_PATH

To check all documents in a particular directory as SVG, but skip any documents whose names don’t end with the extension .svg:

  vnu --skip-non-svg DIRECTORY_PATH

To check all documents in a particular directory, with documents whose names end in the extension .svg being checked as SVG, and all other documents being checked as HTML:

  vnu --also-check-svg DIRECTORY_PATH

To check the document at URL http://example.com/foo

  vnu http://example.com/foo

To check the content from the standard input:

  echo '<!doctype html><title>...' | vnu -

  echo '<!doctype html><title>...' | java -jar ~/vnu.jar -

NOTES

Throughout these examples, replace ~/vnu.jar with the actual path to that jar file on your system, and replace vnu-runtime-image/bin/vnu and vnu-runtime-image\bin\vnu.bat with the actual path to the vnu or vnu.bat program on your system — or if you add the vnu-runtime-image/bin or vnu-runtime-image\bin directory your system PATH environment variable, you can invoke the vnu checker with just vnu.

If you get a StackOverflowError error when invoking vnu, try adjusting the thread stack size by providing the -Xss option to java:

  java -Xss512k -cp ~/vnu.jar ...

  vnu-runtime-image/bin/java -Xss512k -m vnu/nu.validator.client.SimpleCommandLineValidator ...

SEE ALSO

vnu-client(1), vnu-server(1)

× For an integrated ToC on mobile, use
https://github.com/validator/validator/blob/main/README.md