Jimmy:Evernote、Notion、Google KeepなどのエクスポートをMarkdownに変換する

marph91/jimmy を整理する。さまざまなノートアプリや文書形式を Markdown に変換するオープンソースツールで、CLI、TUI、オフライン実行、クロスプラットフォームの単体バイナリに対応する。

Jimmy はノート変換ツールだ。目的は、さまざまなノートアプリや文書形式の内容を Markdown に変換することにある。閉じたアプリからノートを移し、Obsidian や Joplin に入れたい人、または長期保存用に純テキストとして残したい人に向いている。

プロジェクト文書での位置づけは明快だ。元のノートアプリからデータをエクスポートまたはバックアップし、jimmy で変換し、その結果を Joplin や Obsidian にインポートする。あるいは VSCode などのテキストエディタで直接見る。

Jimmy が解決する問題

多くのノートアプリには独自のエクスポート形式がある。アプリを乗り換えるときに面倒なのは、本文だけではない。画像、添付ファイル、タグ、内部リンク、front matter などの構造化情報も問題になる。

Jimmy はこれらのエクスポートデータを、できるだけ汎用的な Markdown ディレクトリに整理する。

  • ノート本文を Markdown に変換する。
  • 画像、リソース、添付ファイルをできるだけ保持する。
  • タグ、外部リンク、ノート内部リンクをできるだけ保持する。
  • Markdown + front matter を出力する。
  • 結果は Joplin、Obsidian などにインポートでき、テキストエディタでも直接読める。

この種のツールの意味は、移行コストを下げることにある。ノートが Markdown になれば、特定アプリに強く縛られなくなる。バックアップ、検索、バージョン管理、LLM 処理もかなり簡単になる。

多くのノートアプリをサポート

Jimmy は幅広い入力元をサポートしている。Anki、Anytype、Bear、CherryTree、ColorNote、Day One、Diaro、Drafts、Dynalist、Evernote、Google Docs、Google Keep、Joplin、Notion、Obsidian、OneNote、QOwnNotes、RedNotebook、Reflect、Roam Research、Signal、Simplenote、Standard Notes、Synology Note Station、Telegram、Tiddlywiki、Turtl、UpNote、Wordpress、Zim、Zoho Notebook などが含まれる。

ただし、すべての入力元で変換品質が完全に同じとは限らない。実際に移行する場合は、まず少量のノートで試し、画像、添付ファイル、タグ、内部リンク、日付フィールドを重点的に確認した方がよい。

通常の文書も変換できる

ノートアプリのエクスポートだけでなく、Jimmy は一般的な文書形式も扱える。文書では、単一ファイルの変換だけでなく、フォルダ全体の再帰的な変換にも触れている。雑然とした資料フォルダを Markdown に整理する用途にも使える。

主な対応形式は次の通り。

種類
オフィス文書 DOCX、ODT、RTF
マークアップ言語 Asciidoc、DocBook、Markdown、MediaWiki、reStructuredText
Web と電子書籍 HTML、MHTML、EPUB
データと構造化ファイル CSV、OPML、Jupyter Notebook
その他 PDF、EML、Fountain、txt2tags

DOCX、PDF、HTML をまとめて Markdown にしたいだけでも、Jimmy はオフラインのバッチ処理ツールとして使える。

2つの使い方

Jimmy は CLI と TUI の2種類のインターフェースを提供する。

インターフェース 向いている場面 説明
CLI バッチ処理、スクリプト、完整機能 フォルダ一括変換、移行スクリプト、入力形式指定に向く
TUI 対話的な変換 手動操作に向く。現時点では beta 状態の機能サブセット

公式 README の Linux 例は次の通り。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 対話型 TUI で変換
jimmy-linux tui

# pandoc 対応の単一ファイルを変換
jimmy-linux cli libre_office_document.odt

# フォルダ全体を変換
jimmy-linux cli path/to/folder

# Google Keep のエクスポートを変換
jimmy-linux cli takeout-20240401T160516Z-001.zip --format google_keep

これらのコマンドから分かるように、Jimmy は特定のノートアプリだけを対象にしていない。「ノートのエクスポートパッケージ」と「通常の文書フォルダ」を同じ変換フローに入れている。

主な特徴

特徴 説明
オフライン実行 変換はクラウドサービスに依存せず、個人ノートの処理に向く
オープンソース リポジトリは GPL-3.0 license を採用
クロスプラットフォーム Linux、Windows、macOS の公式ダウンロードを提供
単体バイナリ Docker、Python、Node.js の追加インストールを要求しない
AI を使わない 変換過程で AI を呼び出さず、結果を制御しやすく、プライバシー面でも安心しやすい
Markdown + front matter ノートアプリへのインポートや Git 管理に向く

「オフライン」と「AI を使わない」は、ノート移行では特に重要だ。ノートには個人情報、仕事資料、古い添付ファイルが含まれがちなので、変換をローカルで完結できるとリスク境界が分かりやすい。

誰に向いているか

Jimmy は次のような人に向いている。

  • Evernote、Notion、OneNote、Google Keep などから Markdown に移行したいユーザー。
  • ノートを Obsidian、Joplin、または他の純テキストワークフローに入れたい人。
  • 長期資料を将来読みやすい形式で保存したい人。
  • ノートや文書を LLM が処理しやすいテキストに整えたい人。
  • DOCX、PDF、HTML、ODT などのフォルダを再帰的に変換したい人。

一方で、「ワンクリックで完璧に移行」したい人には必ずしも向かない。ノートアプリごとにエクスポート形式は大きく異なり、複雑なページ、データベース、埋め込み内容、内部リンクは手動確認が必要になることがある。

移行前の確認手順

本格的に移行する前に、次の順番で進めるのがよい。

  1. 元のノートアプリから少量のサンプルをエクスポートする。
  2. いきなり全ノートを変換せず、まず Jimmy でサンプルを変換する。
  3. Markdown 本文、画像、添付ファイル、タグ、作成時刻、内部リンクを確認する。
  4. Obsidian や Joplin などの移行先アプリが、ディレクトリ構造と front matter を正しく認識できるか確認する。
  5. 完整なエクスポートパッケージを変換する。
  6. 元のエクスポートパッケージと変換結果を残し、問題がないと確認してから整理する。

少し遅く見えるが、移行後に添付ファイルの欠落、リンク切れ、タグ構造の崩れに気づくよりずっと安全だ。

私の見方

Jimmy の価値は、ノート移行を「特定アプリのインポーターに頼る」ものから、「まず汎用 Markdown に変換する」ものへ変える点にある。対応元が多く、出力も十分汎用的なので、個人の知識ベースを閉じた形式から解放しやすい。

たまに1、2件のノートをエクスポートするだけなら不要かもしれない。しかし、長年のノート、添付ファイル、文書フォルダがあり、Obsidian、Joplin、Git 管理の Markdown ワークフローへ移行したいなら、Jimmy は試す価値がある。移行の中間層として使うのが向いている。まずデータを読みやすく、バックアップしやすく、バッチ処理しやすいテキストに変え、その後どのノートシステムに入れるかを決めればよい。

プロジェクトリンク:marph91/jimmy
ドキュメントリンク:Jimmy - Note Conversion Tool

记录并分享
Hugo で構築されています。
テーマ StackJimmy によって設計されています。