We just benchmarked @m2d/react-markdown
against the popular react-markdown
— and the results are in:
✅ Competitive speed,
✅ Cleaner architecture,
✅ Purpose-built for MDAST-first workflows likemdast2docx
🚀 Why Another Markdown Renderer?
Most renderers are great at one thing: rendering. But if you’re working on docx/pdf export, hybrid output (MDX/HTML/JSX), or unified pipelines, you need something:
- Fast 🏎
- Extensible 💡
- MDAST-respecting 🧠
- SSR/Streaming/Edge-ready 💪
That’s exactly what @m2d/react-markdown
is for.
📊 Real Benchmarks — No Hype
We ran thorough benchmarks with various markdown types: simple notes, complex nested GFM, large tutorials, and even full-site markdown dumps.
Key Takeaways:
- 🟢
@m2d/react-markdown
outperformed or matchedreact-markdown
in several medium/complex files - 🔁 Bulk rendering (all files in one go) saw better JSX tree handling
- 📉 Slightly slower in very short/simple cases (which don’t matter much in real apps)
Check out the full results here:
👉 benchmark.md
Includes tables, deltas, and even visual charts!
🔌 Perfect Companion for mdast2docx
& Export Tooling
If you’re building tools like:
-
mdast2docx
(Markdown → Word) - Hybrid export systems (PDF/HTML from a single source)
- Local-first writing tools with output control
Then @m2d/react-markdown
is your new best friend.
It retains the full MDAST, supports plugin injection, and gives you full control over rendering + export paths.
💬 Join the Discussion – Shape the Future
We’re actively planning support for:
- Inline JSX support in markdown
- Better handling of reusable ASTs
- Declarative hydration markers for SSR/Edge use
💬 Engage, vote, or suggest improvements here:
👉 https://github.com/md2docx/react-markdown/discussions/3
🛠 Build Your Own Library Like This
This library was scaffolded using react18-tools/turborepo-template
— a production-grade template for building and publishing modern React libraries.
If you want to:
- Build & test across Next.js/Vite
- Auto-generate docs & examples
- Publish fast and right
💡 Use this template to create your own library in minutes.
🤝 Call for Contributors
If you:
- Love performance and clean architecture
- Use React with Markdown in any serious way
- Care about maintainable DX and OSS karma
…then jump in!
Star, fork, or file issues here → https://github.com/md2docx/react-markdown
Or explore mdast2docx
to see how this library integrates into real export workflows.
🧘♂️ Built with Care
This isn’t just a library — it’s a piece in a larger mission to simplify dev workflows and bridge content with output in meaningful ways.