Skip to content
Event-driven HTML5 Parser in Javascript
Branch: master
Clone or download
Latest commit 66402ae Aug 13, 2014
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc Remove doc/jquery-example. Fixes #45 Mar 17, 2013
test Make tree construction test use new jsdom API Jul 14, 2014
tools Add shebang to tools/parse-test-data.js Nov 12, 2012
.gitignore Add build products to .gitignore Nov 11, 2012
.npmignore Add .npmignore May 11, 2012
.travis.yml Drop testing node 0.8 thanks to pointy versions in package.json Jul 14, 2014
COPYING Initial commit Aug 22, 2010 Update history Aug 12, 2014
Makefile Fix README example Aug 9, 2014

HTML5 Parser for node.js

Build Status


A simple example:

var HTML5 = require('html5');
var jsdom = require('jsdom');
var core = jsdom.browserAugmentation(jsdom.level(3));

var impl = new core.DOMImplementation();
var document = impl.createDocument();
var parser = new HTML5.JSDOMParser(document, core);

parser.parse('<p>I am a very small HTML document</p>');


Interesting features

  • Streaming parser: You can pass parser.parse an EventEmitter and the parser will keep adding data as it's received.

  • HTML5 parsing algorithm. If you find something this can't parse, I'll want to know about it. It should make sense out of anything a browser can.


Use npm, or to use the git checkout, read on.

You'll need to fetch dependencies or initialize git submodules if you're pulling this from my git repository.

npm install

and give it a run:

npm test

Git repository at

You can’t perform that action at this time.