使用 Microsoft markitdown 将 PDF、Word、PowerPoint、Excel、图片、音频、HTML 等多种格式转换为 Markdown,支持 OCR、音频等功能。
Microsoft's lightweight Python utility for converting various files to Markdown for use with LLMs and related text analysis pipelines.
bash
pipx install 'markitdown[all]'
bash
pip install 'markitdown[all]'
bash
pip install 'markitdown[pdf,docx,pptx]'
FormatExtensionNotesPDF.pdfPreserves structure, tables, linksWord.docxHeadings, lists, tablesPowerPoint.pptxSlides to MarkdownExcel.xlsx, .xlsTable dataImages.png, .jpg, etc.EXIF metadata + OCRAudio.wav, .mp3Speech transcriptionHTML.html, .htmWeb contentYouTubeURLVideo transcriptionZIP.zipIterates over contentsEPub.epubE-booksText.csv, .json, .xmlText-based formats
bash
# PDF to Markdown
markitdown document.pdf > output.md
# Word to Markdown
markitdown document.docx -o output.md
# PowerPoint to Markdown
markitdown presentation.pptx -o output.md
bash
cat document.pdf | markitdown
bash
markitdown screenshot.png -o text.md
bash
markitdown "https://youtube.com/watch?v=..." -o transcript.md
python
from markitdown import MarkItDown
# Initialize
md = MarkItDown()
# Convert file
result = md.convert("document.pdf")
print(result.text_content)
# Convert from stream
with open("document.pdf", "rb") as f:
result = md.convert_stream(f)
print(result.text_content)
OptionDescriptionExample-o, --outputOutput file-o output.md``--formatOutput format (default: markdown)--format json``--pagesSpecific pages--pages "1,3,5-7"``--image-outputImage handling--image-output external``--quietSuppress output--quiet
MarkItDown provides an MCP (Model Context Protocol) server for integration with LLM applications:
bash
pip install markitdown-mcp
Install Java 11+:
bash
# macOS
brew install openjdk@17
# Ubuntu
sudo apt install openjdk-17-jdk
Use pipx or virtual environment:
bash
python3 -m venv ~/.venvs/markitdown
source ~/.venvs/markitdown/bin/activate
pip install 'markitdown[all]'