Simple Markdown Parser is a lightweight, high-performance markdown parser that converts markdown content directly into JSX. It is designed for modern React-based applications where performance, predictability, and fine-grained control over rendering are critical.
The parser avoids expensive recursive strategies and instead uses iterative list processing with caching to efficiently render ordered and unordered lists—even when deeply nested. It also supports inline HTML within markdown, checklist items, image attributes etc.
- Parse markdown into JSX.
- Parse html present in markdown into jsx.
- Render any amount of
olandullist independently or nested inside each other.No Recursion. So it is very performant. Cachingfeature for cachingolandullist output in themapCachetoo prevent going through re-generation of lists if they are not changed.- Render
checkboxin list items.
- Markdown to JSX parsing
- HTML inside markdown to JSX
- Headings
-
#→ h1 -
##→ h2 -
###→ h3
-
- Inline elements
- Bold (
**bold**) - Italic (
*italic*) - Inline code (
`code`) - Links (
[text](url))
- Bold (
- Images
- JSX image rendering
-
altattribute support - Width & height attributes
- Ordered & Unordered Lists (OL / UL)
- Simple list generation
- Nested list generation
- Checklist parsing
- Simple checklist
- Checked & unchecked states
- Non-recursive list rendering (high performance)
- Cached list rendering using
mapCache
- Horizontal rule (
hr) - Blockquotes
- Code blocks
- Paragraph rendering
- HTML parsing as real HTML
- HTML sanitization
- Basic HTML parsing
- Frontmatter support
- Custom blocks
- Warning
- Info
- Error
- Success
- Details (
<details>element)
- Table of Contents (TOC)
- Comment parsing
- Install dependencies
pnpm i- Running server
pnpm run dev