360 Secure SkillHub
360 安全技能中心

Microsoft MarkItDown

核心功能:支持PDF、Word、图片、音频、YouTube等近20种格式转Markdown,保留原结构,可识别图片文字、转写音频、提取视频字幕。典型场景:文档结构化提取、LLM文本分析预处理。支持CLI和Python API调用,输入为对应格式文件或链接,输出Markdown,可指定输出文件、页码等参数。

lanyasheng
lanyasheng
热度 44.60
最近更新 2026-05-11 17:42:16
分类:效率依赖:代码执行 / 读写文件 / 第三方 API / MCP 服务 / 联网浏览搜索应用场景:文件转换 / transcription

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add ms-markitdown
Metadata
name
markitdown
description
Convert various document formats (PDF, Word, PowerPoint, Excel, images, audio, HTML, etc.) to Markdown using Microsoft's markitdown tool. Supports OCR, audio transcription, and YouTube video extraction.
triggers
["convert pdf to markdown","convert word to markdown","convert document","extract text from pdf","ocr image","transcribe audio","markitdown","文档转markdown","pdf转文本"]

MarkItDown

Microsoft's lightweight Python utility for converting various files to Markdown for use with LLMs and related text analysis pipelines.

Installation

Prerequisites

  • Python 3.10+
  • Java 11+ (for some converters)

Install via pipx (recommended)

pipx install 'markitdown[all]'

Install via pip

pip install 'markitdown[all]'

Minimal install (specific formats only)

pip install 'markitdown[pdf,docx,pptx]'

Supported Formats

Format Extension Notes
PDF .pdf Preserves structure, tables, links
Word .docx Headings, lists, tables
PowerPoint .pptx Slides to Markdown
Excel .xlsx, .xls Table data
Images .png, .jpg, etc. EXIF metadata + OCR
Audio .wav, .mp3 Speech transcription
HTML .html, .htm Web content
YouTube URL Video transcription
ZIP .zip Iterates over contents
EPub .epub E-books
Text .csv, .json, .xml Text-based formats

CLI Usage

Basic Conversion

# 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

Pipe Input

cat document.pdf | markitdown

Image OCR

markitdown screenshot.png -o text.md

YouTube Video

markitdown "https://youtube.com/watch?v=..." -o transcript.md

Python API Usage

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)

Options

Option Description Example
-o, --output Output file -o output.md
--format Output format (default: markdown) --format json
--pages Specific pages --pages "1,3,5-7"
--image-output Image handling --image-output external
--quiet Suppress output --quiet

MCP Server

MarkItDown provides an MCP (Model Context Protocol) server for integration with LLM applications:

pip install markitdown-mcp

Best Practices

  1. Batch processing: Process multiple files in one call for efficiency
  2. Format selection: Use minimal install if only specific formats needed
  3. OCR quality: Ensure 300 DPI+ for scanned documents
  4. Output review: Always verify Markdown output for complex documents

Troubleshooting

Java not found

Install Java 11+:

# macOS
brew install openjdk@17

# Ubuntu
sudo apt install openjdk-17-jdk

Permission denied

Use pipx or virtual environment:

python3 -m venv ~/.venvs/markitdown
source ~/.venvs/markitdown/bin/activate
pip install 'markitdown[all]'

References