PDF、Word、PowerPointを一気にMarkdown変換!AIとの連携がスムーズになるファイル変換ツール — markitdown

microsoft/markitdownPython109.1k

MarkItDownは、PDF、Word、Excel、PowerPoint、画像、音声、HTMLなど、さまざまな形式のファイルをMarkdown(シンプルな書式付きテキスト)に変換するPython製のツールです。変換されたMarkdownはAI(大規模言語モデル)にそのまま読み込ませやすい形式になっており、文書の見出し・表・リスト・リンクなどの構造をしっかり保持します。コマンド一発で変換できるほか、Pythonプログラムの中に組み込んで使うこともでき、プラグインで機能拡張も可能です。Microsoftの AutoGen チームが開発しており、AIを活用したテキスト分析パイプラインの前処理として特に便利です。

🔥 なぜ話題?

AI活用が急速に広がる中で、『手元のファイルをAIに読ませたい』というニーズが爆発的に増えており、あらゆるファイル形式をAIが理解しやすいMarkdownに変換できるMarkItDownが実用的なツールとして注目を集めています。MCP(Model Context Protocol)サーバー対応でClaude Desktopなどとの連携も可能になった点も話題です。

💡 こう使える!

例えば、取引先から届いた100ページのPDF報告書をAIに要約させたいとき、MarkItDownでPDFをMarkdownに変換すれば、ChatGPTなどのAIがそのまま読み取れる形式になり、『第3章の要点をまとめて』といった指示がスムーズに通るようになります。

ユースケース: 手元のPDFやOffice文書をAIに読み込ませるために、Markdown形式に変換したいとき

  • PDF・Word・Excel・PowerPoint・画像・音声・HTML・YouTubeなど幅広い形式に対応
  • コマンド一行で変換完了、Pythonコードからも簡単に呼び出せる
  • GPT-4oなどのLLMと連携して画像のOCRや音声の文字起こしも可能
GitHubで見る →

Python tool for converting files and office documents to Markdown.

技術情報

言語

Python

ライセンス

MIT

最終更新

2026-03-30

スター数

109,086

フォーク数

6,926

Issue数

600

トピック

autogenautogen-extensionlangchainmarkdownmicrosoft-officeopenaipdf

技術詳細

アーキテクチャ・仕組み

  • Pythonの軽量ユーティリティとして設計されており、ファイルの種類ごとに DocumentConverter クラスが用意されている
  • v0.1.0以降、ファイルパスではなくバイナリストリーム(io.BytesIO等)から読み込む設計に変更され、一時ファイルの作成が不要になった
  • プラグインシステムにより、サードパーティが独自の変換器を追加可能(#markitdown-plugin タグで公開)

対応ファイル形式

形式オプション依存
PDF[pdf]
PowerPoint (.pptx)[pptx]
Word (.docx)[docx]
Excel (.xlsx)[xlsx]
旧Excel (.xls)[xls]
画像 (EXIF・OCR)標準 + LLM連携
音声 (wav, mp3)[audio-transcription]
HTML標準
CSV, JSON, XML標準
ZIP(中身を再帰的に処理)標準
YouTube URL[youtube-transcription]
EPub標準
Outlookメッセージ[outlook]

LLM連携機能

  • OpenAI互換のクライアントを渡すことで、画像の説明文生成(GPT-4o等)や音声の文字起こしが可能
  • llm_clientllm_modelllm_prompt(カスタムプロンプト)を設定できる
  • markitdown-ocr プラグインを使えば、PDF・DOCX・PPTX・XLSX内の埋め込み画像からもOCRでテキスト抽出可能

Azure Document Intelligence連携

  • MicrosoftのAzure Document Intelligenceサービスを使った高精度な文書変換に対応
  • コマンドライン: markitdown file.pdf -d -e "<endpoint>"
  • Python API: MarkItDown(docintel_endpoint="<endpoint>")

MCP(Model Context Protocol)サーバー

  • markitdown-mcp パッケージとして提供され、Claude Desktopなどの LLM アプリケーションとの統合が可能

実行環境

  • Python: 3.10以上が必須
  • Docker: Dockerfile同梱、docker build -t markitdown:latest . でコンテナ化可能
  • Devcontainer: VS Code Devcontainer対応、すべての依存関係がプリインストール済み

オプション依存の管理

# 全部入り
pip install 'markitdown[all]'

# 必要な形式だけ選んでインストール
pip install 'markitdown[pdf, docx, pptx]'

破壊的変更(v0.0.1 → v0.1.0)

  • 依存関係がオプショナルなグループに整理された
  • convert_stream() はバイナリファイルオブジェクトのみ受け付けるようになった(io.StringIOは非対応)
  • DocumentConverter のインターフェースがファイルパスからストリームベースに変更

テスト・開発

  • hatch を使用したテスト実行: hatch shellhatch test
  • pre-commit によるコード品質チェック

ライセンス・商用利用

  • Microsoftが開発・公開しているOSSプロジェクト
  • コントリビューション時はCLA(貢献者ライセンス契約)への同意が必要
  • Microsoft Open Source Code of Conduct を採用

インストール・クイックスタート

# Python 3.10以上が必要。仮想環境の作成を推奨
python -m venv .venv
source .venv/bin/activate

# 全機能をインストール
pip install 'markitdown[all]'

# 基本的な使い方(コマンドライン)
markitdown path-to-file.pdf > document.md

# 出力ファイルを指定する場合
markitdown path-to-file.pdf -o document.md

# Pythonコードから使う場合
from markitdown import MarkItDown

md = MarkItDown()
result = md.convert("test.xlsx")
print(result.text_content)

参考になる外部の関連記事

過去のトレンド履歴

関連リポジトリ

100以上のAIモデルを1つの窓口で呼び出せる!LLM統合ゲートウェイ — litellm

BerriAI/litellmPython40.9k

LiteLLMは、OpenAI・Anthropic・Azure・Google Vertex AIなど100以上のAI言語モデル(LLM)を、たった1つの共通フォーマットで呼び出せるPython SDK

60分の会議音声を一発で文字起こし&リアルタイム音声合成!Microsoftが放つオープンソース音声AI — VibeVoice

microsoft/VibeVoicePython34.9k

VibeVoiceはMicrosoftが開発したオープンソースの最先端音声AIモデル群です。VibeVoiceには大きく3つの機能があり、①最大60分の長時間音声を一度に文字起こしできる音声認識(AS

1ビットAIをあなたのPCで動かす!GPUなしでも超高速・省エネな大規模言語モデル推論 — BitNet

microsoft/BitNetPython34.4k

BitNetは、Microsoft が開発した「1ビットLLM(大規模言語モデル)」を高速に動かすための専用フレームワークです。通常のAIモデルは16ビットや32ビットの数値で計算しますが、BitNe

コード変更ほぼゼロでAIエージェントを強化学習で鍛える!どのフレームワークでもOK — agent-lightning

microsoft/agent-lightningPython16.4k

Agent Lightningは、AIエージェント(自律的にタスクをこなすAIプログラム)を強化学習(試行錯誤から学ぶ手法)で訓練するためのMicrosoft製ツールです。最大の特徴は、既存のAIエー

AIエージェントの構築・連携・実行をまるごとカバー!Python&.NET対応のマルチエージェント基盤 — agent-framework

microsoft/agent-frameworkPython8.8k

Microsoft Agent Frameworkは、AIエージェント(自律的に考えて行動するAIプログラム)を作り、複数のエージェントを連携させて複雑な仕事をこなすワークフローを構築するためのフレー