Overview
unified is a content-processing core for treating Markdown, HTML, and other content as syntax trees. Plugins can inspect and transform those trees, connecting ecosystems such as remark, rehype, and retext for linting, conversion, and generation workflows.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Build parse → transform → stringify pipelines
A parser turns input into a syntax tree, plugins inspect or transform it, and a compiler serializes the result as part of a configured processor.
Sources: [2]
Connect remark, rehype, and retext ecosystems
Different content ecosystems can be combined to move between Markdown, HTML, natural-language processing, and custom syntax-tree operations.
For Markdown tooling, document conversion, and static-site pipelines
It fits systems that need AST-based linting, transformation, HTML generation, or custom content processors.
Sources: [2]
The core needs plugins and assumes an ESM environment
unified alone has no parser or compiler, so a working pipeline needs plugins. The current release is ESM-only; check the documented Node.js compatibility before adoption.
Official sources
- [1]unifiedjs/unified repository(2026-09-21)
- [2]unified README(2026-09-21)
- [3]unified website(2026-09-21)
- [4]unified package(2026-09-21)
- [5]unified MIT license(2026-09-21)
Supplemental curator note
`unified` itself has no parser or compiler; it becomes useful when combined with plugins such as remark-parse and rehype-stringify. The current package is 11.0.5, ESM-only, and its README targets Node.js 16+. If a project only processes Markdown, using remark directly may be simpler.
Try it in 3 steps
- 1
Install unified and transformation plugins
Use a minimal Markdown parser, Markdown-to-HTML bridge, and HTML serializer to exercise the README processing model.
npm install unified remark-parse remark-rehype rehype-stringify - 2
Build the processor
Connect parse, transform, and stringify plugins in order.
unified().use(remarkParse).use(remarkRehype).use(rehypeStringify) - 3
Transform Markdown to HTML
Process a Markdown string and inspect the generated HTML through String(file).
await processor.process('# Hello world!')
Growth
Growth trends · Last 30 days
5,034 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 0
- Open PRs
- 1
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- syntax-tree
- ast
- cst
- javascript
- processor
- plugins
- vfile
- unist
- Stars
- 5,034
- Forks
- 129
- Watchers
- 32
- Open issues
- 0
- Contributors
- 22
- Primary language
- JavaScript
- License
- MIT
- Repository last updated
- Apr 29, 2026
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Prettier52,287 Stars
2 shared tag(s) · 1 shared category(s) · Same language
An opinionated formatter that parses source code and reprints it into a consistent layout.
JavaScript - Docusaurus66,308 Stars
1 shared tag(s) · 2 shared category(s)
A React-based static-site foundation for documentation, blogs, custom pages, and localization.
TypeScript - React250,613 Stars
1 shared tag(s) · 1 shared category(s) · Same language
A JavaScript library for building web and native user interfaces from declarative components.
JavaScript - Node.js122,023 Stars
1 shared tag(s) · 1 shared category(s) · Same language
A cross-platform JavaScript runtime for servers, CLIs, and tooling, with clearly separated Current and LTS release lines.
JavaScript - Axios109,206 Stars
1 shared tag(s) · 1 shared category(s) · Same language
A Promise-based HTTP client for browsers and Node.js with interceptors, adapters, cancellation, and transport controls.
JavaScript
Report incorrect information
Tell us if any listing information is incorrect or outdated.