Streamdown applies a complete set of typographic styles out of the box. All standard Markdown elements are styled using Tailwind CSS utility classes so content is legible immediately without any additional configuration.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/vercel/streamdown/llms.txt
Use this file to discover all available pages before exploring further.
Layout and spacing
The outermost container usesspace-y-4 (via a [&>*] selector for Tailwind v3/v4 compatibility) to add consistent vertical rhythm between top-level blocks. First and last child margins are reset to prevent double-spacing at the edges.
app/page.tsx
className prop:
app/page.tsx
Headings
All six heading levels are supported. Each appliesmt-6 mb-2 font-semibold with a size that scales from text-3xl down to text-sm:
| Element | Tailwind classes |
|---|---|
<h1> | mt-6 mb-2 font-semibold text-3xl |
<h2> | mt-6 mb-2 font-semibold text-2xl |
<h3> | mt-6 mb-2 font-semibold text-xl |
<h4> | mt-6 mb-2 font-semibold text-lg |
<h5> | mt-6 mb-2 font-semibold text-base |
<h6> | mt-6 mb-2 font-semibold text-sm |
Inline text
Bold
Rendered as<span class="font-semibold"> (not <strong>).
Italic
Rendered as a standard<em> element with browser-default italic styling.
Strikethrough
GitHub Flavored Markdown strikethrough viaremark-gfm.
Inline code
Rendered with a muted background and monospace font:inlineCode component key. See the Components page.
Superscript and subscript
Both usetext-sm for reduced visual weight.
Links
Rendered asfont-medium text-primary underline. When link safety is enabled (the default), links render as <button> elements that open a confirmation modal before navigating.
Lists
Unordered lists
[li_&]:pl-6 for indentation.
Ordered lists
List items
Each<li> applies py-1 for breathing room. Paragraphs inside list items are displayed inline to avoid double-spacing.
Blockquotes
Horizontal rules
Tables
Table cells usepx-4 py-2 text-sm. Header cells add font-semibold whitespace-nowrap. The <thead> uses bg-muted/80 and <tbody> divides rows with divide-y divide-border.
Code blocks
Code blocks are rendered by the<CodeBlock> component with Shiki syntax highlighting. Line numbers are shown by default. See the Code Blocks page for full configuration.
Images
Images are wrapped in a responsive container<div> that handles loading states, broken image fallbacks, and preserves aspect ratio.
Customizing typography
Via CSS variables
Change colors and radius globally:app/globals.css
Via data-streamdown selectors
Target individual elements without overriding components:
styles/streamdown.css
Via the components prop
For structural changes:
app/page.tsx
