node package manager


Converts the JSON that the htmlparser/htmlparser2 package produces back to HTML.


Converts the JSON that htmlparser (and probably htmlparser2) produces back to HTML.

Useful if you're doing some sort of transformation.

Tests are based on reversing the parser tests in htmlparser, so they are quite comprehensive.


Returns a single function html(tree, [parent, mapFn]) which returns a html string.

Optionally, you can apply a function to each element just before they are converted to HTML - for example, converting items that are not in the right format into htmlparser-compatible input.

  • tree: a tree structure produced by htmlparser
  • parent: optional param - a parent element, only used for the mapFn.
  • mapFn: a function(item, parent) that is applied to each element just before the element is converted into html. The parent parameter is either the original value of the parent (default: null), or the parent element of this child element.


htmlparser-to-html can be configured with the configure(config_object). The following configuration parmeters are available:

  • disableAttribEscape: Set to true to disable escaping the attribute values. (default is false)


var html = require('htmlparser-to-html');

        {   type: 'tag'
          , name: 'html'
          , children:
             [ { type: 'tag'
               , name: 'title'
               , children: [ { data: 'The Title', type: 'text' } ]
             , { type: 'tag'
               , name: 'body'
               , children: [ { data: 'Hello world', type: 'text' } ]

// outputs: <html><title>The Title</title><body>Hello world</body></html>

Of course, you probably want to generate the array from htmlparser.

Example configuration

var html = require('htmlparser-to-html');

html.configure({disableAttribEscape: true);