ObsidianからNotionへ、構造を崩さず移行するOSS「o2n」を公開しました
ObsidianからNotionへ移行したい。でも、そのままだと崩れてしまう
「Obsidianに蓄積したノートをNotionへ移したい」
そんな声をよく聞きます。
ただ、Markdownファイルをそのままインポートするだけでは、Obsidian特有の情報がうまく引き継がれないことがあります。
[[ノート名]]のwikilinkが、リンクではなく文字列として残る
フォルダ階層が失われ、ノートがフラットに並ぶ
frontmatterがプロパティではなく、本文の先頭に表示される
![[画像.png]]で埋め込んだ画像が表示されない
calloutやハイライトなどの記法が崩れる
ノートが数件なら手作業でも直せます。でも、数百件、数千件と蓄積されたvaultでは現実的ではありません。
そこで、Obsidianのvault全体を解析し、リンクや構造を保ちながらNotionへ移行できるOSSツール「o2n」を作りました。
詳細な使い方・手順書:
o2n:Obsidian to Notion 移行ツール
標準インポートとの違い


o2nとは
o2nは、Markdownファイルを単純にコピーするツールではありません。
vault全体のノート、リンク、フォルダ、frontmatter、添付ファイルを先に解析し、それぞれをNotionのページやデータベースへ変換します。
つまり、見た目だけを移すのではなく、Obsidianの知識構造をNotionのデータ構造として再構築するためのツールです。
o2nで移行できるもの
1. wikilinkをNotionのページリンクへ
[[ノート名]]や[[ノート名#見出し]]を解析し、移行後のNotionページへつながるリンクに変換します。
ノート同士のつながりを、単なる文字列ではなくリンクとして引き継げます。
2. フォルダをNotionのページ階層へ
Obsidianのフォルダ構造を、Notionの親ページと子ページの階層として再現します。
どのノートがどこに入っていたのかを保ったまま移行できます。
3. frontmatterをNotionプロパティへ
ステータス、優先度、期限、タグなど、frontmatterで管理していたメタデータをNotionのプロパティとして活用できます。
フォルダ内のノートに共通する項目が多い場合は、データベースとしての移行も選択できます。
4. 画像やPDFなどの添付ファイルも移行
画像やPDFなどの添付ファイルをNotionへアップロードし、元のノート内にあった位置へ配置します。
添付ファイルのパスだけが残る状態を防ぎます。
5. Obsidian独自の記法もできるだけ維持
callout、ハイライト、数式、Mermaid図などを、対応するNotionの表現へ変換、または保持します。
変換できない要素は黙って消さず、移行レポートで確認できます。
いきなり書き込まず、事前に確認できる
大切なvaultを移行する以上、いきなりNotionへ大量のページを書き込むのは不安だと思います。
o2nでは、dry-runを使って実際の書き込み前に移行内容を確認できます。
基本の流れは次のとおりです。
SCAN:vaultを解析する
PLAN:フォルダごとの移行方法を決める
DRY-RUN:書き込み前に結果を確認する
MIGRATE:Notionへの移行を実行する
VERIFY:移行結果を検証する
途中で処理が止まった場合も、resumeで続きから再開できます。同じページを重複して作らないように移行状態を管理します。

CLIとMCPの2つの使い方
CLIから使う
ターミナルからコマンドを実行し、vaultの走査、移行計画の作成、dry-run、本番移行、検証まで進められます。
npx @tk_wfl/o2n-cli scan <vaultPath>Claude DesktopやClaude Codeから使う
MCPサーバーとして設定すると、Claude DesktopやClaude Codeとの会話から移行作業を進められます。
「このvaultをNotionへ移行したい」と伝え、移行計画を確認しながら実行できます。本番の書き込みには明示的な確認が必要な設計です。
オープンソースで公開しています
o2nはMITライセンスのオープンソースソフトウェアです。無料で利用でき、商用利用やソースコードの確認もできます。
vault本体は読み取り専用
Notionへの書き込み先を指定した親ページ配下に制限
dry-runで本番前に確認可能
移行状態を保存し、途中から再開可能
テレメトリなし
移行処理が何をしているのかを確認できることも、オープンソースで公開した理由のひとつです。
こんな人に使ってほしい
ObsidianからNotionへ本格的に乗り換えたい
数百件以上のノートを手作業で直したくない
wikilinkによるノート同士のつながりを残したい
frontmatterをNotionのデータベースで活用したい
個人の知識をNotionでチーム共有したい
Claude DesktopやClaude Codeから移行を進めたい
リンク
GitHubリポジトリ:
詳細な使い方・手順書:
npm:CLI:
npm:MCP Server:
🚀Obsidianに保存されているのは、Markdownファイルだけではありません。ノート同士のリンク、フォルダ階層、メタデータまで含めて、その人の知識構造です。o2nは、その構造をできるだけ保ったままNotionへ移すことを目指しています。
実際に試して、うまく変換されない記法や対応してほしいプラグイン、移行時のエッジケースがあれば、GitHubのIssueから教えてください。
📢ご案内📢
こちらのコミュニティでも日々NotionやClaude codeに関連することを発信したり質問を受け付けています🙌
https://workflow-lab.notion.site/Discord-2ec6118a611e808085edeb976669be7c
また、substackも始めたのでよかったら無料購読お願いします!
https://substack.com/@tkresearcher
いいなと思ったら応援しよう!
温かいご支援に感謝致します✨頂いたチップは、将来の学びを深めるためのAIサブスクや書籍の購入費として大切に活用させていただきます‼️応援は活動の大きな励みとなりますので、これからも温かく見守っていただけると嬉しいです🐶✨