Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Docker Pulls

Actions Status Actions Status

This is a docker image made to test HTML code. I developed it for my website using GitLab pipelines. This will work for any sort of pipeline solution. It setups up a container that has html5validator installed, which saves time with the testing process.

There are images available through GitHub, Docker Hub or GitLab.

To use

First figure out the version you want then checkout out the source

GitLab Pipeline

Using the source of your choosing you will want something like:

  stage: test
  image: cyb3rjak3/html5validator:latest-alpine
    - html5validator --root public/ --also-check-css --log INFO

Which is used by this project

GitHub Action

For GitHub Actions, please use the action that I have built here: HTML5 Validator The action is built using this image

Source Repo


# Pull the image of your choosing. Only has to be done once
docker pull cyb3rjak3/html5validator:latest-alpine

# If your code is in a relative directory called `public`
docker run --rm -i -v $(pwd):/mnt -w /mnt cyb3rjak3/html5validator:latest-alpine html5validator --root public


You can pull the image from either Docker Hub, GitHub, or GitLab. Currently the default images are based off of python:3.9-alpine there are images available using python:3.9-slim.

To use the slim based images add -slim to the tag you are using, i.e. cyb3rjak3/html5validator:latest becomes cyb3rjak3/html5validator:latest-slim.

Docker GitHub Gitlab
pypi cyb3rjak3/html5validator:pypi
source cyb3rjak3/html5validator:source
experimental cyb3rjak3/html5validator:experimental


There are currently three tags for this image: source, pypi, and experimental. The source tag involves building html5validator from source, the PyPI installs the packaged version, and the experimental branch builds from my fork of html5validator. The PyPi tag is more stable than the source branch, thus it is the latest tag.