diff --git a/pkgs/applications/misc/html5validator/default.nix b/pkgs/applications/misc/html5validator/default.nix
new file mode 100644
index 000000000000..657996d1da9f
--- /dev/null
+++ b/pkgs/applications/misc/html5validator/default.nix
@@ -0,0 +1,25 @@
+{ buildPythonApplication, fetchFromGitHub, nose, openjdk, lib }:
+
+buildPythonApplication rec {
+ pname = "html5validator";
+ version = "0.3.3";
+
+ src = fetchFromGitHub {
+ owner = "svenkreiss";
+ repo = "html5validator";
+ rev = "v${version}";
+ sha256 = "130acqi0dsy3midg7hwslykzry6crr4ln6ia0f0avyywkz4bplsv";
+ };
+
+ propagatedBuildInputs = [ openjdk ];
+
+ checkInputs = [ nose ];
+ checkPhase = "PATH=$PATH:$out/bin nosetests";
+
+ meta = with lib; {
+ homepage = "https://github.com/svenkreiss/html5validator";
+ description = "Command line tool that tests files for HTML5 validity";
+ license = licenses.mit;
+ maintainers = [ maintainers.phunehehe ];
+ };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 3760114301e0..dcba9903e4d2 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -187,6 +187,8 @@ in
hobbes = callPackage ../development/tools/hobbes { };
+ html5validator = python36Packages.callPackage ../applications/misc/html5validator { };
+
proto-contrib = callPackage ../development/tools/proto-contrib {};
protoc-gen-doc = callPackage ../development/tools/protoc-gen-doc {};