Show HN: HyperMarkdown, streaming Markdown renderer for React Æven released HyperMarkdown, a streaming-native Markdown renderer for React that caches settled content down to code lines, table rows, and list items, achieving 1.6×–10.6× faster rendering than the nearest streaming renderer in benchmarks. On a large streaming table, HyperMarkdown completed the workload in under one second, compared to 33 seconds for Streamdown, 56 seconds for DeepSeek Harness, and 30 seconds for react-markdown. The renderer is available as @aeven-ai/hypermarkdown on npm and supports React 18 and 19. Parse the change. Not the conversation. HyperMarkdown is a streaming-native Markdown renderer built for LLM output. It caches settled content down to code lines, table rows, and list items, so growing responses do not keep paying to parse and render work that is already finished. 1.6×–10.6× faster than the nearest streaming renderer across our benchmark suite. | Workload | HyperMarkdown | Markstream | Streamdown | DeepSeek Harness | react-markdown | |---|---|---|---|---|---| | Large code block | 216 ms | 769 ms | 3,242 ms | 4,416 ms | 2,054 ms | | Mixed prose | 153 ms | 313 ms | 559 ms | 249 ms | 2,629 ms | Captured AI code stream real-code-os | 659 ms | 4,417 ms | 12,511 ms | 14,621 ms | 8,008 ms | Captured AI table stream real-table-head | 654 ms | 4,948 ms | 11,621 ms | 19,644 ms | 10,236 ms | | Large table | 874 ms | 9,276 ms | 33,142 ms | 55,918 ms | 29,747 ms | The captured model fixtures are not generated stress cases: their content is real AI output, replayed in controlled 8-character frames. HyperMarkdown renders the code stream in 659 ms versus 4,417 ms for the next closest streaming renderer, and the table stream in 654 ms versus 4,948 ms . On a large streaming table, HyperMarkdown completes the workload in under one second . - Streamdown: 33 seconds - DeepSeek Harness strategy: 56 seconds - react-markdown: 30 seconds Same Markdown. Same stream. Very different architecture. Production React benchmark on an Apple M2 Max, including chunk processing and synchronous render/commit. Absolute timings vary; the ratios are the useful comparison. Read the methodology /Aeven-AI/HyperMarkdown/blob/main/benchmarks/README.md · View the full benchmark results /Aeven-AI/HyperMarkdown/blob/main/benchmarks/results/latest.md Most streaming Markdown renderers optimize at the document or block level. HyperMarkdown goes further. Traditional streaming renderer new token ↓ growing active block ↓ parse the active block again ↓ render again HyperMarkdown: new token ↓ active block │ ├── settled code lines → cached ├── settled table rows → cached ├── settled list items → cached └── changing frontier → parse A 1,000-line code block does not become a 1,000-line parsing problem every time another token arrives. Completed work stays completed. - Sub-block caching for code, tables, and lists - Streaming-safe handling of incomplete Markdown - GFM tables, task lists, autolinks, and footnotes - Reasoning blocks written as