Project: syntax-tree/hast-util-to-parse5

Package: hast-util-to-parse5@7.0.0

  1. Dependents: 4
  2. hast utility to transform hast to Parse5’s AST
  1. util 144
  2. utility 140
  3. unist 127
  4. html 122
  5. hast 73
  6. hast-util 47
  7. tree 41
  8. ast 33


Build Coverage Downloads Size Sponsors Backers Chat

hast utility to transform to Parse5’s AST.

Q: Why not use a Parse5 adapter? A: Because it’s more code weight to use adapters, and much more fragile.


This package is ESM only: Node 12+ is needed to use it and it must be imported instead of required.


npm install hast-util-to-parse5


import {toParse5} from 'hast-util-to-parse5'

const tree = toParse5({
  type: 'element',
  tagName: 'h1',
  properties: {},
  children: [{type: 'text', value: 'World!'}]



{ nodeName: 'h1',
  tagName: 'h1',
  attrs: [],
  namespaceURI: 'http://www.w3.org/1999/xhtml',
  childNodes: [ { nodeName: '#text', value: 'World!', parentNode: [Circular] } ] }


This package exports the following identifiers: toParse5. There is no default export.

toParse5(tree[, space])

Transform a hast tree to Parse5’s AST.


Whether the root of the given tree is in the 'html' or 'svg' space (enum, 'svg' or 'html', default: 'html').

If an svg element is found in the HTML space, toParse5 automatically switches to the SVG space when entering the element, and switches back when exiting.


Use of hast-util-to-parse5 can open you up to a cross-site scripting (XSS) attack if the hast tree is unsafe.


See contributing.md in syntax-tree/.github for ways to get started. See support.md for ways to get help.

This project has a code of conduct. By interacting with this repository, organization, or community you agree to abide by its terms.


MIT © Titus Wormer