Streaming markdown
that just works

Zero dependencies. One script tag. Beautiful out of the box.
Built for AI streaming — no flicker on partial content.

4KB
gzip
0
dependencies
1
file
GitHub See it live ↓
$ npm i agentic-render copy

Live demo

Watch it stream token-by-token — or render instantly.

Three lines to start

No build step. No config. No React.

index.html
<!-- 1. Add the script --> <script src="https://unpkg.com/agentic-render/agentic-render.js"></script> <!-- 2. Create a container --> <div id="output"></div> <!-- 3. Render --> <script> const r = AgenticRender.create('#output') r.append('# Hello\n\n**streaming** works') </script>
Customize everything
const r = AgenticRender.create('#el', { theme: 'dark', vars: { '--ar-accent': '#ff6b6b', '--ar-link': '#818cf8', '--ar-code-bg': '#1e1e2e', } }) // Or override CSS classes directly // .ar-h1, .ar-pre, .ar-a, .ar-table ...

What's inside

🔄 Streaming-safe

Half-open code blocks, unterminated bold, partial tables — all render without flicker. Pulsing dot on open blocks.

🎨 Syntax highlighting

Built-in tokenizer for JS, Python, Rust, Go, and more. Keywords, strings, comments, numbers, functions — all colored.

📋 Copy button

Every code block gets a copy button. Click → clipboard → "Copied!" feedback. No setup needed.

🌗 Dark + Light

Two built-in themes. Switch at runtime with setTheme(). Or override any CSS variable.

✅ Full GFM

Headings, bold/italic, strikethrough, lists, task lists, blockquotes, tables, images, links, horizontal rules.

📦 Truly zero-dep

No React. No Tailwind. No build step. One JS file. Works in any HTML page, any framework, any era of JavaScript.

How it compares

Streamdown
react-markdown
agentic-render
Size (gzip)
~45KB + plugins
~14KB
4KB
Dependencies
Tailwind, shadcn, React
React, unified, remark
0
Streaming
Yes
No
Yes
Build step
Required
Required
None
Framework
React only
React only
Any / vanilla
Default styling
Needs CSS vars setup
Unstyled
Beautiful defaults