markitdown
Convert files and office documents to Markdown. Supports PDF, DOCX, PPTX, XLSX, images (with OCR), audio (with transcription), HTML, CSV, JSON, XML, ZIP, YouTube URLs, EPubs and more.
By davila7 · 2,143 installs
npx skills add davila7/claude-code-templates --skill markitdown
Source repository · Upstream listing
MarkItDown File to Markdown Conversion
Overview
MarkItDown is a Python tool developed by Microsoft for converting various file formats to Markdown. It's particularly useful for converting documents into LLM friendly text format, as Markdown is token efficient and well understood by modern language models.
Key Benefits :
Convert documents to clean, structured Markdown
Token efficient format for LLM processing
Supports 15+ file formats
Optional AI enhanced image descriptions
OCR for images and scanned documents
Speech transcription for audio files
Visual Enhancement with Scientific Schematics
When creating documents with this skill, always consider adding scientific diagrams and schematics to enhance visual communication.
If your document does not already contain schematics or diagrams:
Use the scientific schematics skill to generate AI powered publication quality diagrams
Simply describe your desired diagram in natural language
Nano Banana Pro will automatically generate, review, and refine the schematic
For new documents: Scientific schematics should be generated by default to visually represent key concepts, workflows, architectures, or relationships described in the text.
How to generate schematics:
The AI will automatically:
Create publication quality images with proper formatting
Review and refine through multiple iterations
Ensure accessibility (colorblind friendly, high contrast)
Save outputs in the figures/ directory
When to add schematics:
Document conversion workflow diagrams
File format architecture illustrations
OCR processing pipeline diagrams
Integration workflow visualizations
System architecture diagrams
Data flow diagrams
Any complex concept that benefits from visualization
For detailed guidance on creating schematics, refer to the scientific schematics skill documentation.
Supported Formats
Format Description Notes
PDF Portable Document Format Full text extraction
DOCX Microsoft Word Tables, formatting preserved
PPTX PowerPoint Slides with notes
XLSX Excel spreadsheets Tables and data
Images JPEG, PNG, GIF, WebP EXIF metadata + OCR
Audio WAV, MP3 Metadata + transcription
HTML Web pages Clean conversion
CSV Comma separated values Table format
JSON JSON data Structured representation
XML XML documents Structured format
ZIP Archive files Iterates contents
EPUB E books Full text extraction
YouTube Video URLs Fetch transcriptions
Quick Start
Installation
Command Line Usage
Python API
Advanced Features
1. AI Enhanced Image Descriptions
Use LLMs via OpenRouter to generate detailed image descriptions (for PPTX and image files):
2. Azure Document Intelligence
For enhanced PDF conversion with Microsoft Document Intelligence:
3. Plugin System
MarkItDown supports 3rd party plugins for extending functionality:
Find plugins on GitHub with hashtag: markitdown plugin
Optional Dependencies
Control which file formats you support:
Common Use Cases
1. Convert Scientific Papers to Markdown
2. Extract Data from Excel for Analysis
3. Process Multiple Documents
4. Convert PowerPoint with AI Descriptions
5. Batch Convert with Different Formats
6. Extract YouTube Video Transcription
Docker Usage
Best Practices
1. Choose the Right Conversion Method
Simple documents : Use basic MarkItDown()
Complex PDFs : Use Azure Document Intelligence
Visual content : Enable AI image descriptions
Scanned documents : Ensure OCR dependencies are installed
2. Handle Errors Gracefully
3. Process Large Files Efficiently
4. Optimize for Token Efficiency
Markdown output is already token efficient, but you can:
Remove excessive whitespace
Consolidate similar sections
Strip metadata if not needed
Integration with Scientific Workflows
Convert Literature for Review
Extract Tables for Analysis
Troubleshooting
Common Issues
1. Missing dependencies : Install feature specific packages
2. Binary file errors : Ensure files are opened in binary mode
3. OCR not working : Install tesseract
Performance Considerations
PDF files : Large PDFs may take time; consider page ranges if supported
Image OCR : OCR processing is CPU intensive
Audio transcription : Requires additional compute resources
AI image descriptions : Requires API calls (costs may apply)
Next Steps
See references/api reference.md for complete API documentation
Check references/file formats.md for format specific details
Review scripts/batch convert.py for automation examples
Explore scripts/convert with ai.py for AI enhanced conversions
Resources
MarkItDown GitHub : https://github.com/microsoft/markitdown
PyPI : https://pypi.org/project/markitdown/
OpenRouter : https://openrouter.ai (for AI enhanced conversions)
OpenRouter API Keys : https://openrouter.ai/keys
OpenRouter Models : https://openrouter.ai/models
MCP Server : markitdown mcp (for Claude Desktop integration)
Plugin Development : See packages/markitdown sample plugin