Skip to content

Latest commit

 

History

History
40 lines (29 loc) · 1014 Bytes

File metadata and controls

40 lines (29 loc) · 1014 Bytes

obsidian2notion

One-shot importer from an Obsidian vault to Notion.

It creates regular Notion pages (not databases), preserves folder nesting, and sets each note title from:

  1. frontmatter title
  2. first Markdown # Heading
  3. filename (fallback)

Setup

  1. Install dependencies:

    npm install
  2. Create your env file:

    cp .env.example .env
  3. Fill .env:

    • NOTION_KEY: integration token from https://www.notion.so/my-integrations
    • NOTION_PARENT_PAGE_ID: parent page ID in Notion
    • OBSIDIAN_VAULT_PATH: absolute vault path
    • CONCURRENCY (optional, default 5)
  4. Share the target Notion parent page with your integration.

Run

npm run sync

Notes

  • This script reads your local vault and does not delete or modify your source files.
  • Local image/embed syntax is converted to text placeholders (attachments are not uploaded).
  • Re-running is idempotent for already-existing sibling page titles (it skips duplicates).