DEV Community

Fayaz Bin Salam
Fayaz Bin Salam

Posted on

obsidotion: an Obsidian plugin that syncs your vault to Notion (and back)

two tools, same notes, constant copy-paste. that's what broke me.

i've been on both Obsidian and Notion for a while. Obsidian for thinking — local files, graph view, plugins. Notion for sharing — databases, team pages, linked views. The problem: they don't talk to each other, and manually keeping them in sync is a tax you pay every day.

so i built obsidotion — a free Obsidian plugin that handles both directions.

what it does

upload vault → Notion: takes every local markdown file and pushes it to a Notion database. Existing entries get overwritten.

download Notion → vault: pulls a full Notion database and writes it to your local vault. Same overwrite logic — what's remote wins.

works cross-platform: Windows, Mac, Linux, Android, iOS — wherever Obsidian runs.

the interesting design call

i went with full-overwrite semantics instead of merge/diff. less glamorous, but a partial merge that silently drops a note is worse than a predictable overwrite. at least you know exactly what happened.

the tradeoff: if you've edited the same note locally AND in Notion, one version wins and one dies. a future problem, but an honest one.

stack

TypeScript plugin using Obsidian's plugin API + Notion's official REST API. There's an optional .env config that auto-copies build output to your vault path during dev — saves a few steps per iteration.

install

download the zip from Releases, drop it into .obsidian/plugins/obsidotion/. Or build from source:

npm install
npm run build
Enter fullscreen mode Exit fullscreen mode

obsidotion on GitHub

https://github.com/p32929/obsidotion

feedback welcome — especially if you have thoughts on incremental sync vs full overwrite. stars and forks appreciated.

open to building with sharp teams and solo founders — dms/email open.

Top comments (0)