The source code resides in Gitlab :
It is a webextension. The current branch is

You can clone the Gitlab repository or download it.
When done, you will have a <html_validator> directory.


To install the extension on Firefox:
- in the URL: type  about:debugging
- then "Load Temporary Add-on"
- choose any file in the <html_validator> directory. Ex: <html_validator>/manifest.json
- the extension should be loaded.

For more info, see


To install the extension on Chrome
- in the URL: type  chrome:extensions
- enable "the developer mode"
- then "Load Unpacked Extension..."
- choose any file in the <html_validator> directory. Ex: <html_validator>/manifest.json
- the extension should be loaded.

For more info, see


Firefox 4 

The HTML extension uses some C / C++ code. that need to be recompiled on each platform.
The extension is available on Windows and Linux.
There is a forum discussing the compilation issues  : here.

For Firefox 4.0 instructions, see here :

Download the source code

Firefox 1

For other platforms, the solution is to compile the extension.

Step 1 - Download Firefox or Mozilla source code

To compile the extension, we need to compile Firefox or Mozilla.
To do this, we have to download the source of Firefox or Mozilla and follow the build instruction of Firefox or Mozilla

Here is the start point.

When you have downloaded all, and setup all to allow to compile the source. First and before to begin, please compile Firefox completely and check that is works.
After this you will have a "mozilla" directory with the source of Firefox or mozilla.

Step 2 - Include the source of the HTML Validator

Download the source code
The source of the extension is divided in 2 directories:

C part of the extension mozilla/extensions/tidy
Javascript/XUL part of the extension tidy_extension

The goal is to have this hierarchy of directories:

+  build directory
    +  firefox
        +  mozilla  (this contains the source of Firefox)
            + ...
            + extensions
               + tidy  (this contains the C part of the extension)
    + tidy_extension (this contains the javascript part of the extension )

To do this:
0. place the Firefox source code in <build directory>/firefox.
1. copy the C part of the extension (mozilla/extensions/tidy) in <build directory>/firefox/mozilla/extensions/tidy
2. copy the Javascript part of the extension (tidy_extension) in <build directory>/tidy_extension
3. if you are running on Unix, set the chmod properties correctly

 chmod +x tidy_extension/
 chmod +x firefox/mozilla/extensions/tidy/

4. edit the file in the root of mozilla and add the list of the Html Validator makefiles.
        sql ) MAKEFILES_extensions="$MAKEFILES_extensions
        tidy ) MAKEFILES_extensions="$MAKEFILES_extensions
            " ;;

5. Edit the files configure and and add mozilla in the list of extensions. Look for MOZ_EXTENSIONS_DEFAULT. Take care that this line is present several times in the 2 files in newer firefox version

configure and
MOZ_EXTENSIONS_DEFAULT=" cookie ... negotiateauth"

MOZ_EXTENSIONS_DEFAULT=" tidy cookie ... negotiateauth"

In Firefox 2, you will need to replace this line several times in the both files, this command can help to find all lines

6. If the file browser/config/mozconfig exists, add tidy to extensions list

ac_add_options --enable-extensions=cookie,xml-rpc,xmlextras,pref,...

ac_add_options --enable-extensions=tidy,cookie,xml-rpc,xmlextras,pref,...

Step 3 - Build mozilla

Go in the root mozilla directory and run configure.
> ./configure

First go to extension/tidy
and run :
> ./
or > build_all.bat

The build first will build the opensp library then will fails. But it will create the opensp library that Firefox build will need.

Rebuild Firefox:
> make -f build

and check the you can start it.

Step 4 - Make the XPI - tidy_firefox.xpi

Go in tidy_extension and depending of the platform run :
> ./ or build_xpi.bat

The result will be a tidy_mozilla.xpi and a tidy_firefox.xpi

Step 5 - Install in your browser

Start Firefox or Mozilla and
And it should be there.

Problems / Comments

Please sent any comment to