markitdown
Convert files and Office documents into clean Markdown when you need LLM-friendly, token-efficient text (e.g., for summarization, search, RAG ingestion, or dataset preparation).
Install / Use
npx skills add aipoch/medical-research-skills --skill markitdownInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
AI & Machine LearningSupported Platforms
Our assessment of markitdown
markitdown scores 89/100 on our quality scale, 341st of 861 AI & Machine Learning skills we index (top 40%).
Its SKILL.md is 4.9 KB long, well organised into 10 sections with 5 code examples: a solid amount of guidance for an agent.
With 1,916 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated 12 days ago, so markitdown is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
markitdown compared with similar skills
All 4 of these similar skills score higher than markitdown; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| markitdown (this skill)by aipoch | 89 | 1.9k | 12d ago | SKILL.md |
| claude-memby thedotmack | 100 | 95.0k | 1d ago | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 86.2k | 14d ago | CLAUDE.md |
| Understand-Anythingby Egonex-AI | 100 | 84.7k | 1d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 74.1k | today | CLAUDE.md |
Frequently asked questions
- How do I install markitdown?
- Run
npx skills add aipoch/medical-research-skills --skill markitdown. The install tabs above show the steps for each supported agent. - Which AI agents does markitdown work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is markitdown safe to use?
- It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is markitdown still maintained?
- The repository was last updated 12 days ago, so markitdown is actively maintained.
Skill content
View source on GitHubname: markitdown description: Convert files and Office documents into clean Markdown when you need LLM-friendly, token-efficient text (e.g., for summarization, search, RAG ingestion, or dataset preparation). license: MIT author: AIPOCH
When to Use
- Converting research papers or reports (PDF/DOCX/EPUB/HTML) into Markdown for LLM summarization, Q&A, or RAG indexing.
- Extracting tables and structured content from spreadsheets (XLSX/CSV) into Markdown for analysis or documentation.
- Turning slide decks (PPTX) into Markdown notes, including speaker notes and (optionally) AI-generated image descriptions.
- Processing images or scanned documents with OCR to obtain searchable, editable Markdown text.
- Transcribing audio (WAV/MP3) or pulling YouTube transcripts into Markdown for meeting notes, content analysis, or knowledge bases.
Key Features
- Converts many formats to structured Markdown (PDF, DOCX, PPTX, XLSX, images, audio, HTML, CSV, JSON, XML, ZIP, EPUB, YouTube URLs, etc.).
- Produces token-efficient output suitable for LLM pipelines (summarization, chunking, embedding).
- OCR support for images/scans (when OCR dependencies are installed).
- Audio transcription support (when transcription dependencies are installed).
- Optional AI-enhanced image/slide descriptions via an OpenAI-compatible client (e.g., OpenRouter).
- Plugin system to extend format support and custom behaviors.
- Stream-based conversion API for large files.
Dependencies
- Python:
>=3.9(recommended) - Package:
markitdown[all](installs all optional format handlers)
Optional system dependencies (feature-dependent):
- Tesseract OCR:
tesseract-ocr(for image/scanned-text OCR)
Optional external services (feature-dependent):
- Azure Document Intelligence endpoint (for enhanced PDF extraction)
- OpenAI-compatible LLM endpoint (e.g., OpenRouter) for AI image descriptions
Example Usage
Install
pip install 'markitdown[all]'
CLI: Convert a PDF to Markdown
markitdown document.pdf -o output.md
Python: Convert multiple formats (PDF/XLSX/PPTX/DOCX) and save outputs
from pathlib import Path
from markitdown import MarkItDown
md = MarkItDown()
files = [
"document.pdf",
"spreadsheet.xlsx",
"presentation.pptx",
"notes.docx",
]
for path in files:
result = md.convert(path)
out = Path(path).with_suffix(".md")
out.write_text(result.text_content, encoding="utf-8")
print(f"Converted {path} -> {out}")
Python: Stream conversion (useful for large files)
from markitdown import MarkItDown
md = MarkItDown()
with open("large_file.pdf", "rb") as f:
result = md.convert_stream(f, file_extension=".pdf")
with open("large_file.md", "w", encoding="utf-8") as out:
out.write(result.text_content)
Python: AI-enhanced image/slide descriptions (OpenAI-compatible, e.g., OpenRouter)
from markitdown import MarkItDown
from openai import OpenAI
client = OpenAI(
api_key="YOUR_OPENROUTER_API_KEY",
base_url="https://openrouter.ai/api/v1",
)
md = MarkItDown(
llm_client=client,
llm_model="anthropic/claude-opus-4.5",
llm_prompt="Describe this image in detail for scientific documentation.",
)
result = md.convert("presentation.pptx")
print(result.text_content)
Implementation Details
-
Conversion entry points
MarkItDown().convert(path)converts a file by path/URL and returns an object whose primary payload isresult.text_content(Markdown).MarkItDown().convert_stream(stream, file_extension=".pdf")converts from a binary stream; use this for large files or when data is not on disk.
-
Format handling
- Format support is provided by optional extras (e.g.,
pdf,docx,pptx,xlsx,audio-transcription,youtube-transcription) orall. - ZIP inputs are typically processed by iterating through contained files and converting each supported entry.
- Format support is provided by optional extras (e.g.,
-
OCR
- For images/scanned documents, OCR is enabled when OCR tooling is available (commonly Tesseract). Ensure the OS-level OCR binary is installed and accessible in
PATH.
- For images/scanned documents, OCR is enabled when OCR tooling is available (commonly Tesseract). Ensure the OS-level OCR binary is installed and accessible in
-
AI image descriptions
- When
llm_client,llm_model, andllm_promptare provided, MarkItDown can request model-generated descriptions for images (including slide images), then inject those descriptions into the Markdown output. - Any OpenAI-compatible client can be used (e.g., OpenRouter) by setting
base_urlandapi_key.
- When
-
Enhanced PDF extraction (Azure Document Intelligence)
- When configured with a Document Intelligence endpoint, PDF extraction can be improved for complex layouts (tables, multi-column text, scanned PDFs), producing more faithful Markdown structure.
-
Plugins
- Plugins can be listed and enabled from the CLI (e.g.,
--list-plugins,--use-plugins) to extend conversion behavior or add new format handlers.
- Plugins can be listed and enabled from the CLI (e.g.,
Related Skills
claude-mem
95.0kPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Agent-Reach
86.2kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
Understand-Anything
84.7kGraphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
headroom
74.1kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
