# markitdown | Microsoft | Knowledge Base | Instagit

Python tool for converting files and office documents to Markdown.

GitHub Stars: 101k

Repository: https://github.com/microsoft/markitdown

---

## Articles

### [How to Handle MissingDependencyException for Optional Format Dependencies in MarkItDown](/microsoft/markitdown/markitdown-handle-missingdependencyexception)

Resolve MissingDependencyException in MarkItDown by catching the error and installing optional format dependencies with pip install markitdown[feature]. Learn how to handle missing excel pdf or pptx support efficiently.

- Tags: how-to-guide
- Published: 2026-04-11

### [Transcription Options for MarkItDown's YouTube Converter: Complete Guide](/microsoft/markitdown/markitdown-youtube-converter-transcription-options)

Explore MarkItDown's YouTube converter transcription options. Learn how to use youtube_transcript_languages for accurate script retrieval and translation with this comprehensive guide.

- Tags: how-to-guide
- Published: 2026-04-11

### [How MarkItDown's YouTube Converter Works: From URL to Structured Markdown](/microsoft/markitdown/markitdown-youtube-converter-how-it-works)

Discover how MarkItDown's YouTube converter transforms YouTube URLs into structured Markdown. Learn about metadata, descriptions, and transcript extraction using BeautifulSoup.

- Tags: internals
- Published: 2026-04-11

### [MarkItDown Convert Methods Explained: convert() vs convert_local(), convert_stream(), convert_uri(), and convert_response()](/microsoft/markitdown/markitdown-convert-methods-differences)

Understand the distinct MarkItDown convert methods. Learn how convert() autodetects input, while convert_local(), convert_stream(), convert_uri(), and convert_response() handle specific data types for efficient markdown process...

- Tags: api-reference
- Published: 2026-04-11

### [MarkItDown Memory Implications for Non-Seekable Streams: A Complete Guide](/microsoft/markitdown/markitdown-non-seekable-streams-memory-implications)

Explore MarkItDown memory implications for non-seekable streams. Understand RAM buffering and resource management with this complete guide.

- Tags: deep-dive
- Published: 2026-04-11

### [How MarkItDown Handles Non-Seekable Streams: Automatic Buffering for Pipes and Network Sockets](/microsoft/markitdown/markitdown-non-seekable-streams-handling)

MarkItDown automatically buffers non-seekable streams like pipes and sockets in memory. Discover how this process enables document type detection and text extraction.

- Tags: internals
- Published: 2026-04-11

### [Azure Document Intelligence API Version Options in MarkItDown](/microsoft/markitdown/markitdown-azure-doc-intelligence-api-versions)

Explore Azure Document Intelligence API version options in MarkItDown. Learn how to select specific versions using the docintel API version parameter for custom setups.

- Tags: api-reference
- Published: 2026-04-11

### [How to Use MarkItDown with Azure Document Intelligence: A Complete Guide](/microsoft/markitdown/markitdown-azure-document-intelligence-usage)

Learn how to use MarkItDown with Azure Document Intelligence to convert PDFs images and Office docs to clean Markdown using AI powered layout analysis. Explore our guide.

- Tags: how-to-guide
- Published: 2026-04-11

### [How to Implement accepts() Correctly in MarkItDown Converters](/microsoft/markitdown/markitdown-implement-accepts-correctly)

Learn to correctly implement MarkItDown's accepts() method for binary stream converters. This guide explains fast metadata checks and byte-peeking for efficient stream handling.

- Tags: how-to-guide
- Published: 2026-04-11

### [MarkItDown DocumentConverter Base Class Architecture Explained](/microsoft/markitdown/markitdown-documentconverter-base-class-architecture)

Explore the architecture of the DocumentConverter base class in Microsoft MarkItDown. Learn how its two-method contract powers a flexible plugin system.

- Tags: architecture
- Published: 2026-04-11

### [How MarkItDown Handles Nested Conversions Within ZIP Files: Recursive Extraction Explained](/microsoft/markitdown/markitdown-nested-conversions-zip-files)

Learn how MarkItDown handles nested ZIP file conversions with recursive extraction. Discover its efficient pipeline for unlimited nesting depth.

- Tags: internals
- Published: 2026-04-11

### [When to Pass StreamInfo to MarkItDown Convert Methods: A Complete Guide](/microsoft/markitdown/markitdown-when-to-pass-streaminfo-to-convert)

Discover when to pass StreamInfo to MarkItDown convert methods to override file type detection for binary streams, MIME types, and unit tests.

- Tags: how-to-guide
- Published: 2026-04-11

### [How the StreamInfo Class Works in MarkItDown: Immutable Metadata Handling](/microsoft/markitdown/markitdown-streaminfo-class-how-it-works)

Learn how MarkItDown's StreamInfo class handles immutable metadata. Discover its copy and update method for safe stream info tracking and updates without side effects.

- Tags: internals
- Published: 2026-04-11

### [How to Configure Custom LLM Prompts for Image Descriptions in MarkItDown](/microsoft/markitdown/markitdown-custom-llm-prompts-image-descriptions)

Master custom LLM prompts for image descriptions in MarkItDown. Learn to set the llm_prompt parameter to tailor AI-generated captions for your markdown documents.

- Tags: how-to-guide
- Published: 2026-04-11

### [How to Customize Magika in MarkItDown: 4 Proven Methods](/microsoft/markitdown/markitdown-customize-magika)

Learn how to customize Magika in MarkItDown with 4 proven methods. Explore subclassing, patching, and monkey-patching for flexible file identification.

- Tags: how-to-guide
- Published: 2026-04-11

### [How MarkItDown Uses Magika for File Type Detection: Implementation Deep Dive](/microsoft/markitdown/markitdown-magika-file-type-detection)

Learn how MarkItDown implements Magika for advanced file type detection. Discover how ML predictions merge with filename data to create enriched StreamInfo objects guiding converter selection.

- Tags: internals
- Published: 2026-04-11

### [enable_builtins() vs enable_plugins() in MarkItDown: Core Differences Explained](/microsoft/markitdown/markitdown-enable-builtins-vs-enable-plugins)

Understand the core differences between enable_builtins() and enable_plugins() in MarkItDown. Learn how to manage built-in converters and third-party extensions for your MarkItDown projects.

- Tags: deep-dive
- Published: 2026-04-11

### [How to Handle Proprietary File Formats with MarkItDown Custom Plugins](/microsoft/markitdown/markitdown-custom-plugin-proprietary-formats)

Learn to handle proprietary file formats with MarkItDown custom plugins. Implement the DocumentConverter interface in Python, register converters, and use the plugin entry point for automatic discovery.

- Tags: how-to-guide
- Published: 2026-04-11

### [How to Create a Custom Plugin for MarkItDown: A Complete Developer Guide](/microsoft/markitdown/markitdown-create-custom-plugin)

Learn how to create a custom plugin for MarkItDown. Follow this developer guide to define your Python package, implement converters, and install your plugin for enhanced markdown processing.

- Tags: how-to-guide
- Published: 2026-04-11

### [MarkItDown Stream-Based Conversion Breaking Changes: The v0.1.0 Migration Guide](/microsoft/markitdown/markitdown-stream-conversion-breaking-changes)

Learn about MarkItDown 0.1.0 breaking changes. Discover how stream-based conversion requires binary streams and no longer accepts text-only streams. Migrate your MarkItDown projects.

- Tags: migration-guide
- Published: 2026-04-11

### [How to Override MarkItDown's Converter Priority for Custom Converters](/microsoft/markitdown/markitdown-override-converter-priority)

Override MarkItDown converter priority for custom converters by registering with MarkItDown.register_converter() and setting a specific priority value. Learn how to manage converter order effectively.

- Tags: how-to-guide
- Published: 2026-04-11

### [How MarkItDown's Converter Priority System Works: A Deep Dive into Document Conversion Ordering](/microsoft/markitdown/markitdown-converter-priority-system)

Understand MarkItDown's converter priority system. Learn how lower numbers mean higher precedence for document conversion ordering, with defaults for specific and generic converters.

- Tags: deep-dive
- Published: 2026-04-11

