MarkItDown uses optional dependency groups to minimize installation size and avoid unnecessary dependencies. Install only what you need for your specific use case.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/microsoft/markitdown/llms.txt
Use this file to discover all available pages before exploring further.
Installation Groups
MarkItDown defines the following optional dependency groups inpyproject.toml:
all - Complete Installation
python-pptx- PowerPoint supportmammoth~=1.11.0- Word document supportpandas- Excel supportopenpyxl- Excel (.xlsx) supportxlrd- Excel (.xls) supportlxml- Enhanced XML/HTML parsingpdfminer.six>=20251230- PDF text extractionpdfplumber>=0.11.9- Advanced PDF parsingolefile- Outlook MSG supportpydub- Audio processingSpeechRecognition- Audio transcriptionyoutube-transcript-api~=1.0.0- YouTube transcript supportazure-ai-documentintelligence- Azure Document Intelligenceazure-identity- Azure authentication
pptx - PowerPoint Support
python-pptx
.pptxfiles (PowerPoint presentations)
docx - Word Document Support
mammoth~=1.11.0lxml
.docxfiles (Word documents)
xlsx - Excel XLSX Support
pandasopenpyxl
.xlsxfiles (Excel spreadsheets, modern format)
xls - Excel XLS Support
pandasxlrd
.xlsfiles (Excel spreadsheets, legacy format)
pdf - PDF Support
pdfminer.six>=20251230pdfplumber>=0.11.9
.pdffiles (PDF documents)
PDF support uses both pdfminer.six and pdfplumber for robust text extraction and table parsing.
outlook - Outlook MSG Support
olefile
.msgfiles (Outlook messages)
audio-transcription - Audio Support
pydubSpeechRecognition
- Audio file transcription
- Requires FFmpeg installed on system
youtube-transcription - YouTube Support
youtube-transcript-api~=1.0.0
- YouTube video transcript extraction
az-doc-intel - Azure Document Intelligence
azure-ai-documentintelligenceazure-identity
- Cloud-based document conversion via Azure Document Intelligence service
- Enhanced OCR and layout analysis
Requires an Azure Document Intelligence endpoint. See the Azure Document Intelligence guide for setup.
Core Dependencies
These dependencies are always installed:beautifulsoup4- HTML parsingrequests- HTTP requestsmarkdownify- HTML to Markdown conversionmagika~=0.6.1- File type detectioncharset-normalizer- Character encoding detectiondefusedxml- Safe XML parsing
Combining Dependency Groups
Install multiple groups by combining them:Use Case Examples
Minimal Installation
For basic text, HTML, CSV, and simple formats:- Plain text files
- HTML files
- CSV files
- RSS feeds
- Jupyter notebooks (
.ipynb) - Wikipedia pages
- Bing search results
- YouTube transcripts (if available)
Document Processing Server
For a server processing office documents and PDFs:Web Scraping Application
Minimal installation is sufficient:Media Processing Pipeline
For audio and image processing:Cloud Document Service
Using Azure Document Intelligence:Development Environment
Install everything for testing:Checking Installed Dependencies
Verify which dependencies are installed:Error Messages
When a required dependency is missing, MarkItDown will raise aMissingDependencyException:
Upgrade Existing Installation
Add optional dependencies to an existing installation:Dependencies in Docker
The official Docker image includes all dependencies:Requirements Files
For reproducible environments:requirements.txt
requirements.txt