Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 1,000,000+ packages pre-installed, including rehype with all npm packages installed. Try it out:

var rehype = require("rehype")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

rehype v11.0.0

HTML processor powered by plugins part of the unified collective


Build Coverage Downloads Size Sponsors Backers Chat

unified processor to parse and serialize HTML. Powered by plugins. Part of the unified collective.

Don’t need the parser? Or the compiler? That’s OK.

If you’re in a browser, trust the content, and value a smaller bundle size, use rehype-dom instead.


🥇 Vercel

🥇 Gatsby

🥇 Netlify



Read more about the unified collective on Medium »



npm install rehype


var rehype = require('rehype')
var report = require('vfile-reporter')

rehype().process('<title>Hi</title><h2>Hello world!', function(err, file) {
  console.log(report(err || file))


no issues found
<html><head><title>Hi</title></head><body><h2>Hello world!</h2></body></html>

Configuration for rehype-parse and rehype-stringify can be set with .data('settings', {/*...*/}).


As rehype works on HTML, and improper use of HTML can open you up to a cross-site scripting (XSS) attack, use of rehype can also be unsafe. Use rehype-sanitize to make the tree safe.


See in rehypejs/.github for ways to get started. See for ways to get help. Ideas for new plugins and tools can be posted in rehypejs/ideas.

A curated list of awesome rehype resources can be found in awesome rehype.

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

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free