Convert Markdown to Notion blocks with full format support. Handles bold, italic, strikethrough, inline code, headings, lists, tables, callouts, and more.
Convert Markdown to Notion blocks with full format support.
ntn_)# Option A: Environment variable
export NOTION_API_KEY="ntn_your_key"
# Option B: Config file
mkdir -p ~/.config/notion
echo "ntn_your_key" > ~/.config/notion/api_key
The parent page where new pages will be created:
notion-md list-pages
Or set default:
export NOTION_PARENT_PAGE_ID="parent_page_id"
notion-md create --file article.md --title "My Article" --emoji 📝
echo "# Hello World" | notion-md create "Page Title"
| Option | Description |
|---|---|
--file, -f | Input Markdown file |
--title, -t | Page title (required) |
--emoji, -e | Page icon (default: 📄) |
--parent-id, -p | Parent page ID |
--dry-run | Preview without creating |
notion-md list-pages
echo "## New Section" | notion-md append --page-id "abc123..."
| Markdown | Notion Block |
|---|---|
# Title | heading_1 |
## Title | heading_2 |
### Title | heading_3 |
**bold** | bold annotation |
*italic* | italic annotation |
~~text~~ | strikethrough |
`code` | code annotation |
--- | divider |
- item | bulleted_list_item |
1. item | numbered_list_item |
> quote | quote |
text | code block |
::: callout | callout |
| table | | table (basic) |
# My Article
**This is bold** and *this is italic*.
> Important quote here
## Code Example
```python
def hello():
print("Hello World")
### Create with Options
```bash
notion-md create \
--file blog-post.md \
--title "My Blog Post" \
--emoji ✍️ \
--parent-id "page_id_here"
| Variable | Description |
|---|---|
NOTION_API_KEY | Notion API key |
NOTION_PARENT_PAGE_ID | Default parent page ID |
Notion API: 2022-06-28