About this project
MarkItDown is a Python-based tool that converts multiple file formats into Markdown while preserving document structures such as headings, lists, tables, and links. It is designed to prepare data for consumption by Large Language Models (LLMs) and text analysis tools.
Supported formats include:
- Office Documents: Word, PowerPoint, Excel (including older .xls formats).
- Documents & Web: PDF, HTML, EPub.
- Data Formats: CSV, JSON, XML.
- Multimedia: Images (EXIF and OCR), Audio (EXIF and transcription), and YouTube URLs.
- Archives: ZIP files.
Key features and integrations:
- LLM Integration: Supports using LLM clients (e.g., OpenAI) for generating image descriptions and performing OCR via plugins.
- Azure Integration: Provides optional integration with Azure Document Intelligence and Azure Content Understanding for high-fidelity cloud-based extraction, including multi-modal support for video and structured field extraction (YAML front matter).
- Extensibility: Supports a plugin system for adding new file format converters.
- Interface: Offers both a command-line interface (CLI) and a Python API for integration into larger workflows.