見出し画像

ObsidianからNotionへ、構造を崩さず移行するOSS「o2n」を公開しました

ObsidianからNotionへ移行したい。でも、そのままだと崩れてしまう

「Obsidianに蓄積したノートをNotionへ移したい」
そんな声をよく聞きます。
ただ、Markdownファイルをそのままインポートするだけでは、Obsidian特有の情報がうまく引き継がれないことがあります。

  • [[ノート名]]のwikilinkが、リンクではなく文字列として残る

  • フォルダ階層が失われ、ノートがフラットに並ぶ

  • frontmatterがプロパティではなく、本文の先頭に表示される

  • ![[画像.png]]で埋め込んだ画像が表示されない

  • calloutやハイライトなどの記法が崩れる

ノートが数件なら手作業でも直せます。でも、数百件、数千件と蓄積されたvaultでは現実的ではありません。
そこで、Obsidianのvault全体を解析し、リンクや構造を保ちながらNotionへ移行できるOSSツール「o2n」を作りました。
詳細な使い方・手順書
o2n:Obsidian to Notion 移行ツール

標準インポートとの違い

標準インポートとの違い
Markdownを移すだけでは、知識構造は引き継げない

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を使って実際の書き込み前に移行内容を確認できます。
基本の流れは次のとおりです。

  1. SCAN:vaultを解析する

  2. PLAN:フォルダごとの移行方法を決める

  3. DRY-RUN:書き込み前に結果を確認する

  4. MIGRATE:Notionへの移行を実行する

  5. 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から移行を進めたい

リンク

🚀Obsidianに保存されているのは、Markdownファイルだけではありません。ノート同士のリンク、フォルダ階層、メタデータまで含めて、その人の知識構造です。o2nは、その構造をできるだけ保ったままNotionへ移すことを目指しています。
実際に試して、うまく変換されない記法や対応してほしいプラグイン、移行時のエッジケースがあれば、GitHubのIssueから教えてください。
📢ご案内📢
こちらのコミュニティでも日々NotionやClaude codeに関連することを発信したり質問を受け付けています🙌
https://workflow-lab.notion.site/Discord-2ec6118a611e808085edeb976669be7c
また、substackも始めたのでよかったら無料購読お願いします!
https://substack.com/@tkresearcher

いいなと思ったら応援しよう!

TK|Notion公式アンバサダー 温かいご支援に感謝致します✨頂いたチップは、将来の学びを深めるためのAIサブスクや書籍の購入費として大切に活用させていただきます‼️応援は活動の大きな励みとなりますので、これからも温かく見守っていただけると嬉しいです🐶✨