GitHub Flavored Markdown
Extended Markdown features including tables, task lists, strikethrough, and autolinks.
Streamdown includes full support for GitHub Flavored Markdown (GFM) through remark-gfm. This extends standard Markdown with powerful features commonly used on GitHub and other modern Markdown platforms.
Tables
Create formatted tables with alignment options:
| Feature | Supported | Notes |
|---------|-----------|-------|
| Tables | ✅ | Full support |
| Task Lists | ✅ | Interactive |
| Strikethrough | ✅ | ~~Like this~~ |Renders as:
| Feature | Supported | Notes |
|---|---|---|
| Tables | ✅ | Full support |
| Task Lists | ✅ | Interactive |
| Strikethrough | ✅ |
Column Alignment
Control text alignment using colons in the separator row:
| Left | Center | Right |
|:-----|:------:|------:|
| A | B | C |
| 1 | 2 | 3 |Result:
| Left | Center | Right |
|---|---|---|
| A | B | C |
| 1 | 2 | 3 |
Alignment Syntax:
:---- Left-aligned (default):---:- Center-aligned---:- Right-aligned
Table Features
Streamdown enhances tables with:
- Responsive scrolling - Tables scroll horizontally on narrow screens
- Download button - Export tables as CSV or JSON
- Hover states - Row highlighting for better readability
- Proper spacing - Optimized cell padding
Complex Tables
Tables support inline formatting:
| Name | Description | Status |
|------|-------------|--------|
| **Streamdown** | A `react-markdown` replacement | ✅ Active |
| *Feature X* | Under development | 🚧 WIP |
| ~~Old Package~~ | Deprecated | ❌ Removed |Disabling Table Controls
You can disable the table download button:
<Streamdown controls={{ table: false }}>
{markdown}
</Streamdown>Task Lists
Create interactive todo lists:
- [x] Setup project structure
- [x] Install dependencies
- [ ] Write documentation
- [ ] Deploy to productionRenders as:
- Setup project structure
- Install dependencies
- Write documentation
- Deploy to production
Task List Syntax
- [ ]- Unchecked task (whitespace in brackets)- [x]- Checked task (lowercase x)- [X]- Also checked (uppercase X)
Nested Task Lists
Task lists can be nested:
- [ ] Phase 1: Setup
- [x] Initialize repository
- [x] Configure build tools
- [ ] Setup CI/CD
- [ ] Phase 2: Development
- [ ] Implement features
- [ ] Write testsTask Lists in Different Contexts
Task lists work in various contexts:
## Shopping List
- [ ] Milk
- [ ] Eggs
- [x] Bread
> **Note**: Here's a quote with tasks:
> - [x] Complete quote formatting
> - [ ] Add more examplesStrikethrough
Mark text as deleted or outdated:
~~This approach is deprecated~~
Use this **new method** instead.Result: This approach is deprecated
Multiple Words
Strikethrough works across multiple words:
~~This entire sentence is struck through.~~In Context
**Before:** ~~500ms response time~~
**After:** 50ms response time ⚡Result:
Before: 500ms response time
After: 50ms response time ⚡
Autolinks
URLs and email addresses are automatically converted to links:
Visit https://streamdown.ai for more info.
Contact us at hello@streamdown.aiNo need for explicit link syntax:
Check out github.com/vercel/streamdownURL Protocols
Autolinks work with common protocols:
http://andhttps://ftp://mailto:
https://example.com
ftp://files.example.com
mailto:hello@example.comLine Breaks
GFM respects line breaks without requiring two spaces:
This is line one
This is line two
This is line threeStandard Markdown would combine these into one paragraph, but GFM preserves the breaks.
To force a line break in standard Markdown:
Line one
Line two (note: two spaces after "one")