Overview
The convert endpoint transforms Markdown text into Notion block objects that can be used with the Notion API, our append endpoint, or the append-blocks endpoint when you need to append prebuilt blocks. Our converter supports a comprehensive set of Markdown features including GitHub Flavored Markdown (GFM) alerts, advanced formatting, and intelligent text splitting.Supported Markdown Features
Basic Elements
- Headings: #,##,###,####,#####,######(H4-H6 map toheading_3)
- Paragraphs: Regular text and line breaks
- Text Formatting: **bold**,*italic*,`code`,~~strikethrough~~
- Colors: <span style="color: red">colored text</span>(supports 9 Notion colors)
- Links: [text](url)and<https://example.com>autolinks
- Images: 
Lists
- Bulleted Lists: - itemor* item
- Numbered Lists: 1. item
- Nested Lists: Unlimited nesting depth supported
- Mixed Lists: Combine bulleted and numbered at different levels
Code
- Inline Code: `code`
- Code Blocks: ```languagewith syntax highlighting
- Indented Code: 4+ space indentation
Advanced Features
- Tables: Full Markdown table support with headers
- Blockquotes: > quoted text
- GFM Alerts: > [!NOTE],> [!TIP],> [!IMPORTANT],> [!WARNING],> [!CAUTION]
- Horizontal Rules: ---,***, or___
HTML Color Support
Add colors to your text using standard HTML syntax:- red,- blue,- green,- yellow,- orange,- purple,- pink,- gray(or- grey),- brown
- Works with all block types (headings, lists, quotes, etc.)
- Can be combined with other formatting (bold, italic, etc.)
- Unsupported colors are silently ignored
Generated Notion Block Types
| Markdown Element | Notion Block Type | Notes | 
|---|---|---|
| # Heading | heading_1,heading_2,heading_3 | H4-H6 map to heading_3 | 
| Text | paragraph | With rich text formatting | 
| - Item | bulleted_list_item | Unlimited nesting | 
| 1. Item | numbered_list_item | Unlimited nesting | 
| ```code``` | code | With language support | 
| > Quote | quote | Standard blockquotes | 
| > [!NOTE] | callout | With icons and colors | 
|  | image | External images | 
| | Table | | table | With headers | 
| --- | divider | Horizontal rules | 
Text Length Handling
Automatic Text Splitting
Content longer than 2000 characters is automatically split across multiplerich_text objects within the same block:
- ✅ No content loss: All text is preserved
- ✅ Smart splitting: Breaks at safe boundaries when possible
- ✅ Maintains formatting: Bold, italic, and other formatting preserved across splits
- ✅ Transparent: The splitting is handled automatically
Example: Long Content
Request
Your Mark2Notion API key
The Markdown content to convert to Notion blocks
Response
Will be “success” for successful requests
Examples
Error Responses
Handle Errors
Understand error responses and how to handle them.
Usage Notes
Each convert request counts as 1 API call against your quota, regardless of the markdown size.
The returned blocks are standard Notion API block objects and can be used directly with the Notion API.
The convert endpoint returns raw Notion blocks without additional processing. For content that will be sent to Notion, consider using the 
/append endpoint for Markdown sources or /append-blocks when you already have block JSON. Both include smart processing for large payloads, text splitting, and validation.