Skip to content

Markstream framework packages

Streaming Markdown renderers for AI apps across Vue, React, Svelte, Angular, Nuxt, and Next.js.

Choose by framework

FrameworkPackageStatusInstallBest first pageNotes
Vue 3 / Nuxt / VitePressmarkstream-vuestablepnpm add markstream-vueVue / NuxtMost mature renderer
React / Next.js / Remixmarkstream-reactbetapnpm add markstream-reactReact / Next.jsSSR entries for Next.js
Svelte 5markstream-sveltebetapnpm add markstream-svelte svelte@^5SvelteSvelte 5 only
Angular standalonemarkstream-angularalphapnpm add markstream-angularAngularAngular 20+ standalone
Vue 2.6 / 2.7markstream-vue2compatibilitypnpm add markstream-vue2Vue 2Legacy Vue 2; Vue 2.6 needs @vue/composition-api
Parser onlystream-markdown-parserstablepnpm add stream-markdown-parserParser APINo UI renderer

Choose by use case

Use caseBest packageWhy
Vue AI chatmarkstream-vueMost mature renderer and the deepest Vue/Nuxt docs
React AI chatmarkstream-reactReact renderer for streaming chat; compare it with Streamdown for direct streaming alternatives
Next.js SSR-first Markdownmarkstream-react/nextServer HTML first, then client enhancement
Svelte 5 AI chatmarkstream-svelteSvelte 5 renderer with the shared Markstream parser behavior
Angular standalone appmarkstream-angularAngular 20+ standalone component package
Legacy Vue 2 AI chatmarkstream-vue2Compatibility port for Vue 2.6 / 2.7; use nodes for high-frequency long streams
Parser-only pipelinestream-markdown-parserStructured nodes without a UI runtime

Package maturity

markstream-vue has a stable 1.x API contract. Current npm versions may still carry beta tags while the 1.0 release gate and cross-framework package family are finalized.

PackageMaturityNotes
markstream-vuestableMain renderer, most documented path
stream-markdown-parserstableParser-only package shared by renderers
markstream-reactbetaReact and Next.js entries are documented separately
markstream-sveltebeta / experimentalSvelte 5 only
markstream-angularalphaAngular standalone component
markstream-vue2compatibilityVue 2.6 / 2.7 legacy support; not the first choice for new Vue 3 projects

Quick examples

vue
<script setup>
import MarkdownRender from 'markstream-vue'
import 'markstream-vue/index.css'
</script>

<template>
  <MarkdownRender mode="chat" :content="content" :final="isDone" />
</template>
tsx
import MarkdownRender from 'markstream-react'
import 'markstream-react/index.css'

export function Message({ content, isDone }: { content: string, isDone: boolean }) {
  return <MarkdownRender content={content} final={isDone} fade={false} />
}
svelte
<script lang="ts">
  import MarkdownRender from 'markstream-svelte'
  import 'markstream-svelte/index.css'
</script>

<MarkdownRender {content} final={isDone} />
ts
import { Component, signal } from '@angular/core'
import { MarkstreamAngularComponent } from 'markstream-angular'
import 'markstream-angular/index.css'

@Component({
  selector: 'app-message',
  imports: [MarkstreamAngularComponent],
  template: '<markstream-angular [content]="content()" [final]="true" />',
})
export class MessageComponent {
  content = signal('# Hello from Markstream')
}

Common questions

Is Markstream only for Vue?

No. markstream-vue is the most mature package, but Markstream also has React, Svelte, Angular, Vue 2, Next.js, and parser-only entries.

Should I use Markstream or marked / markdown-it?

Use marked or markdown-it when you only need markdown -> HTML. Use Markstream when Markdown is rendered as framework components, changes during streaming, or needs stable AI-chat mid-states.

Should I use markstream-react, Streamdown, or react-markdown?

Compare markstream-react with Streamdown when you are choosing a React streaming Markdown renderer. Use react-markdown as the static React Markdown baseline when content is short, complete, and tied to a mature remark/rehype plugin chain.

Which packages are stable?

markstream-vue and stream-markdown-parser are stable. markstream-react is beta, markstream-svelte is beta / experimental, markstream-angular is alpha, and markstream-vue2 is a compatibility port.

Should I use markstream-vue2 for a new project?

Use markstream-vue2 only when the app must stay on Vue 2.6 / 2.7. For Vue 3 or new Nuxt projects, start with markstream-vue. For short completed Markdown in Vue 2, a smaller static Markdown renderer may be simpler.

Common next steps