logo svelte /markdown v2.1.2
FIG-001 · MASTHEAD
// compare / svelte-markdown vs vs-svelte-streamdown

vssvelte streamdown.

Two Svelte 5 Streaming Renderers — One Accepts Late and Out-of-Order Chunks

FIG-001
SHEET 01 / 07
FIG-002 / OVERVIEW

at a glance.

Both render AI output as it streams. The biggest difference: Svelte Markdown accepts chunks that arrive late or out of order and puts them in the right place for you. Svelte Streamdown needs the full text, in order, on every update. They also differ in speed, styling, and built-in extras.

FIG-003 / FEATURE MATRIX

side-by-side.

Every surface that matters, compared without spin.

feature@humanspeak/svelte-markdownSvelte Streamdown
Late & Out-of-Order Packets Networks deliver packets late, twice, or out of order. Svelte Markdown places each chunk where it belongs and keeps rendering while the gaps fill. With Svelte Streamdown, your app has to reorder the chunks first.Yes — chunks can arrive in any orderno
Svelte 5 Compatibility yesyes
TypeScript Support yesyes
Streaming Input Svelte Markdown can take chunks straight from your transport. Svelte Streamdown needs the full text so far on every update.Write chunks directly, or bind a growing stringBind a growing string
Mid-Stream Corrections Useful for retries, transcription fixes, and edits to text that was already shown.Rewrite an earlier part of the streamRebuild the full text
Reset Between Messages Keeps one response from leaking into the next when a component is reused.Built inUp to your app
Incomplete Markdown Streamdown closes unfinished bold, code and links on the fly. We render exactly what has arrived, so markers show briefly until the closing one lands. Open code blocks render as code right away.Shown as typed until it closesRepaired while streaming
Streaming HTML HTML blocks settle as closing tags arriveIncomplete blocks handled
Cache for Revisited Documents Switching back to a message you already rendered is instant.Built inno
Streaming Speed Measured 2026-09-28 against svelte-streamdown 4.2.0 with both renderers run back to back on the same content. Results vary by machine and content. Method and full numbers: Streaming Benchmarks in the docs.About 1.2–2.7x less work on prose, lists, tables, and long documentsLess work on a single open code block, on citation-heavy text, and on HTML blocks, which it shows as text by default
Smoothness on Long Lists & Tables A frame that runs long is a frame the browser cannot show at 60 fps.Nearly every frame on timeAbout 30% of frames run long
Bursts of Updates When several chunks land in the same frame, Svelte Markdown does about half the work.Combined into one update per frameEach update is processed
Page Weight Fewer elements means less for the browser to lay out. Full counts: Streaming Benchmarks in the docs.About 19% fewer elements on typical proseFewer elements on citation-heavy text
Custom Renderers 24 markdown + 83 HTML snippet overridesTyped snippets + theme system
HTML Tag Control 83 tags with allow/deny helpersskipHtml + allowed element controls
Safe Links by Default Both block javascript:, data:, and vbscript: links out of the box. Svelte Markdown also strips event-handler attributes.yesyes
Streaming Animations noWord, character, or block animations
MDX-Style Components noyes
Inline Citations noPopover + list/carousel views
Built-in Styling Unstyled by defaultTailwind typography + themes
Math (KaTeX) Opt-in extensionOpt-in component
Diagrams (Mermaid) Opt-in extensionOpt-in interactive component
Code Highlighting Svelte Markdown lets you pick the engine, or bring your own. Both keep streaming enabled.Opt-in: Shiki or TanStack HighlightOpt-in: TanStack Highlight + copy button
Marked Extensions Full extension objectsCustom tokenizers
Advanced Tables GFM tablesGFM + row/column spans, footers, multiple headers
FIG-004 / STRENGTHS

where each shines.

▣ svelte markdown 11
  • +Handles late and out-of-order packets for you — no reordering code in your app
  • +Takes chunks straight from your transport
  • +Can correct or resend an earlier part of a stream
  • +Built-in reset between messages, so one response never leaks into the next
  • +Faster on prose, long lists, tables, and long documents
  • +Stays smooth when chunks arrive in bursts
  • +Built-in cache makes revisited documents instant
  • +Broad raw HTML support with per-tag control
  • +Safe links and attributes by default
  • +Your choice of syntax highlighter: Shiki or TanStack Highlight
  • +Unstyled core — no Tailwind required
▢ svelte streamdown 6
  • +Streaming animations at word, character, and block level
  • +MDX-style Svelte components inside markdown
  • +Interactive citations with popovers, lists, and carousels
  • +Polished typography and themes out of the box
  • +Rich built-ins: interactive diagrams, copy buttons, advanced tables
  • +Faster on a single open code block and on citation-heavy text
FIG-005 / LIMITATIONS

where each falls short.

▣ svelte markdown 6
  • −No built-in reveal animations or citation UI
  • −No MDX-style components inside markdown
  • −You bring the styling
  • −Slower on a single open code block and on citation-heavy text
  • −A few frames can still run long on very long lists, tables, and documents
  • −Smaller community (newer project)
▢ svelte streamdown 9
  • −No support for late or out-of-order packets — your app must reorder chunks first
  • −Needs the full text on every update; no direct chunk input
  • −No way to rewrite an earlier part of the stream
  • −Resets between messages are up to your app
  • −No cache for revisited documents
  • −About twice the work when chunks arrive in bursts
  • −About 30% of frames run long on long lists and tables
  • −Requires Tailwind or theme overrides
  • −Newer, single-maintainer port of a React project
FIG-006 / VERDICT

the honest call.

Choose Svelte Streamdown if you want a ready-made AI chat look: animated reveals, citations, MDX-style components, interactive diagrams, and Tailwind themes. Choose Svelte Markdown if your packets can arrive late or out of order, if you need to correct text mid-stream, or if you want a fast, unstyled building block you control. Both are solid Svelte 5 choices. The technical details behind the speed claims are in the Streaming Benchmarks page of the docs.

FIG-007 / MORE

read more.

Every head-to-head, with the same matrix + pros / cons + verdict format.

SET / JETBRAINS MONO + INTER
HUMANSPEAK · 2026
MIT LICENCE
try
svelte markdown → install in 30 seconds
SHEET 07 / 07
END OF DOCUMENT
↩ ALL COMPARISONS