@humanspeak/svelte-markdown weekly downloads statistics
By humanspeak · npm · Claude Code
Markdown and HTML renderer for Svelte 5 — built for rendering streaming AI agent output from Claude Code, ChatGPT, and agentic workflows. XSS-safe defaults, streaming-aware sanitization, token caching, TypeScript types, and Svelte 5 runes.
@humanspeak/svelte-markdown has 18,988 recorded weekly downloads on npm, a decrease of 38.3% over the past 30 days, ranking #802 of 2,322 tracked listings.
About @humanspeak/svelte-markdown
@humanspeak/svelte-markdown
A powerful, customizable markdown renderer for Svelte with TypeScript support. Built as a successor to the original svelte-markdown package by Pablo Berganza, now maintained and enhanced by Humanspeak, Inc.
Features
- 🔒 HTMLParser2 parsing with default URL and attribute sanitizers (protocol allowlist,
on*handler stripping) - 🚀 Full markdown syntax support through Marked
- 💪 Complete TypeScript support with strict typing
- 🔄 Svelte 5 runes compatibility
- ✂️ Inline snippet overrides — customize renderers without separate files
- 🎨 Customizable component rendering system
- ♿ Semantic default markup, including image alt text and task-list checkboxes
- 🎯 GitHub-style slug generation for headers
- 🧪 Comprehensive test coverage (vitest and playwright)
- 🧩 First-class marked extensions support via
extensionsprop (e.g., KaTeX math, alerts) - 🎨 Opt-in syntax highlighting with one
HighlightedCoderenderer and your choice of engine (Shiki or TanStack Highlight) — streaming-compatible, tree-shaken out of the core bundle - ⚡ LRU token caching avoids repeated parsing of previously seen content
- 📡 LLM streaming with incremental parsing and token reuse (about 2–3 ms per frame on the mixed-prose benchmark below)
- 📬 Late and out-of-order packets:
writeChunk({ value, offset })assembles chunks in any arrival order and keeps rendering while gaps fill - 🖼️ Smart image lazy loading with fade-in animation
Upgrading to 2.0
Version 2.0 rebuilds the streaming engine. Component props and the writeChunk() / resetStream() API are unchanged, and most apps only need the version bump. Two behaviors changed:
- Renderers for tokens inside list items and table cells receive only their own token fields; they no longer inherit the parent list's or table's
raw,text,items,header, orrows. - The default
coderenderer emits one text node per line, socode.firstChildis the first line only.textContentandinnerHTMLare unchanged.
Read the 2.0 upgrade guide for the full list, including streaming output fixes and the new IncrementalParser fields.
Upgrading with an AI assistant? Paste this so it reads the right sources first:
I am upgrading @humanspeak/svelte-markdown from 1.x to 2.0 in a Svelte 5 project.
Before changing anything, read these sources:
- Upgrade guide: https://markdown.svelte.page/docs/migration/v2.md
- Documentation index for LLMs: https://markdown.svelte.page/llms.txt
- Full documentation text: https://markdown.svelte.page/llms-full.txt
- Streaming behavior: https://markdown.svelte.page/docs/advanced/llm-streaming.md
- Direct parser use: https://markdown.svelte.page/docs/advanced/headless-parser.md
- Release notes: https://github.com/humanspeak/svelte-markdown/releases
Then search my codebase for:
1. Custom renderers or snippets used inside lists and tables that read raw,
text, items, header, or rows from props.
2. Code that reads firstChild or childNodes of rendered <code> elements or of
the markdown container.
3. Direct IncrementalParser usage.
4. Tests that snapshot streamed output mid-stream.
List each place that needs a change, explain why using the guide, and propose
the smallest fix.
Installation
Requires Svelte 5 and Node.js 22 or newer for package tooling.
npm i -S @humanspeak/svelte-markdown
Or with your preferred package manager:
pnpm add @humanspeak/svelte-markdown
yarn add @humanspeak/svelte-markdown
Basic Usage
<script lang="ts">
import SvelteMarkdown from '@humanspeak/svelte-markdown'
const source = `
# This is a header
This is a paragraph with **bold** and <em>mixed HTML</em>.
* List item with \`inline code\`
* And a [link](https://svelte.dev)
* With nested items
* Supporting full markdown
`
</script>
<SvelteMarkdown {source} />
Rendering AI Agent Output
Modern AI coding agents — Claude Code, Codex, agentic workflows — increasingly emit HTML alongside markdown for richer output (design mockups, dashboards, reports, interactive artifacts). @humanspeak/svelte-markdown is built for this:…
Description from the npm listing.
- svelte
- svelte5
- sveltekit
- markdown
- renderer
- parser
- fast
- performance
- cache
- caching
- marked
- component
- typescript
- runes
- md
- documentation
- html
- converter
- formatting
- customizable
README badge
Show your rank in a README or on your website. The badge updates automatically.
Charts
Images: 30d · 1y · all time · 1600×900 dark
Adoption over time
7/30/90-day growth
Ranking history
Listing placement
Listing placement
Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.
Each band is one page of 20. Weekly downloads on a linear scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.
Recent observations
Full history (122)Similar npm Claude Code plugins
All 20 @humanspeak/svelte-markdown alternativesData source
Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.
Listing: https://www.npmjs.com/package/@humanspeak/svelte-markdown. First seen Oct 16, 2026; last successful collection Oct 20, 2026. See the methodology.