skip to navigation
skip to content

html5validator 0.2.1

Validate HTML5 files.

This was written with static site generators like Jekyll and Pelican in mind that push to a static server. html5validator is a command line executable that integrates well with CircleCI and TravisCI and tests all static html files for HTML5 validity.


Install with pip install html5validator and run with

html5validator --root _build/ --ignore-re 'Attribute "ng-[a-z-]+" not allowed'

to validate all html files in the _build directory and to ignore all messages that match the regular expression Attribute "ng-[a-z-]+" not allowed. Run html5validator --help to see the list of command line options.

This package uses the backend which is written in Java. Therefore, a Java Runtime Environment must be available on your system. Since version 0.2, Java 8 is required.

Integration with CircleCI

Create a circle.yml file:

    version: oraclejdk8
    - sudo pip install html5validator
    - html5validator --root _build/

in your repository with static html files and get HTML5 validation on every git push.

Integration with TravisCI

Create a .travis.yml file. This is an example for a Python project:

language: python
 - "2.7"

    - gh-pages

# install Java 8 as required by vnu.jar
 - sudo apt-get update
 - sudo apt-get install oracle-java8-installer
 - sudo update-java-alternatives -s java-8-oracle

 - pip install html5validator

script: html5validator --root _build/

This is an example for Java project:

language: java
 - oraclejdk8  # vnu.jar requires Java 8

    - gh-pages

 - pip install --user html5validator

script: html5validator --root _build/

Fix the html5validator version by using pip install --user html5validator==<version number>.

You can also use this for user pages (repositories of the form <username> where the html files are in the master branch. You only have to remove:

    - gh-pages

from .travis.yml. I am using this on my own user page.

Technical Notes

  • If you are using grunt already, maybe consider using the grunt-html plugin for grunt instead.
  • Use --ignore-re 'Attribute "ng-[a-z-]+" not allowed' with angular.js apps.
  • Example with multiple ignores: html5validator --root tests/multiple_ignores/ --ignore-re 'Attribute "ng-[a-z-]+" not allowed' 'Start tag seen without seeing a doctype first'


Install a particular version, for example 0.1.14, with pip install html5validator==0.1.14.

  • master

  • 0.2.1 (2016-01-25)
    • --ignore, --ignore-re: ignore messages containing an exact pattern or matching a regular expression (migration from version 0.1.14: replace --ignore with --ignore-re)
    • curly quotes and straight quotes can now be used interchangeably
    • change Java stack size handling (introduced the new command line options -l, -ll and -lll)
    • update vnu.jar to 16.1.1 (which now requires Java 8)
  • 0.1.14 (2015-10-09)
    • change text encoding handling
    • adding command line arguments --log and --version
  • 0.1.12 (2015-05-07)
    • document how to specify multiple regular expressions to be ignored
    • add --ignore as command line argument. Takes a regular expression for warnings and errors that should be ignored.
  • 0.1.9 (2015-03-02)

File Type Py Version Uploaded on Size
html5validator-0.2.1.tar.gz (md5) Source 2016-01-25 20MB
  • Downloads (All Versions):
  • 44 downloads in the last day
  • 406 downloads in the last week
  • 2020 downloads in the last month