markitdown

Convert documents and URIs to Markdown with Microsoft MarkItDown for LLM ingestion.

Updated Aug 12, 2026
One-click install
npx skills add https://github.com/Mzane0803/latent-minds-skills-marketplace --skill markitdown-mzane0803
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: markitdown
Source: https://github.com/Mzane0803/latent-minds-skills-marketplace/tree/main/plugins/research-writing/skills/markitdown
Command: npx skills add https://github.com/Mzane0803/latent-minds-skills-marketplace --skill markitdown-mzane0803

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires markitdown, and includes scripts (resource) and references (resource) components.

What problem does it solve? Researchers and engineers often need to turn heterogeneous files—PDFs, Office documents, HTML, CSV, EPUB, images, and audio—into clean Markdown for text analysis, search, and LLM/RAG pipelines, without manually handling each format or risking unsafe network and plugin behavior. ## Core Features & Use Cases - Local and stream conversion: Use convert_local(), convert_stream(), and convert_response() to safely convert trusted files, uploaded bytes, or application-fetched HTTP responses into structure-preserving Markdown. - Batch and literature workflows: Run bundled scripts to batch-convert directories with manifests, or convert PDF collections with YAML provenance front matter, SHA-256 hashes, and year-organized indexes. - OCR, Azure, and MCP integration: Route scanned documents through the official markitdown-ocr plugin, Azure Document Intelligence, or Azure Content Understanding, and expose conversion to agents via the official markitdown-mcp server. - Use Case: You have a folder of 200 research PDFs named Author_Year_Title.pdf. Run the literature script to produce provenance-rich Markdown files plus an INDEX.md and catalog.json ready for a RAG pipeline. ## Quick Start Ask the assistant to convert a trusted local file such as report.pdf into Markdown using MarkItDown and save the result as report.md.

Frequently Asked Questions about markitdown

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I convert a PDF to Markdown in Python?▼

Install markitdown with the pdf extra and call MarkItDown().convert_local("report.pdf"), then write result.markdown to a file. For scanned PDFs without a text layer, use the markitdown-ocr plugin or Azure Document Intelligence instead.

What file formats does MarkItDown support?▼

MarkItDown 0.1.6 converts PDF, DOCX, PPTX, XLSX, XLS, HTML, CSV, EPUB, ZIP, Jupyter notebooks, Outlook MSG, JPEG/PNG images, and WAV/MP3/M4A/MP4 audio, plus YouTube, Wikipedia, RSS, and Bing URIs. Many formats require optional extras such as markitdown[pdf,docx].

Does MarkItDown OCR scanned PDFs locally?▼

No, the built-in PDF converter only extracts an existing text layer and does not perform local OCR. For scanned pages, use the official markitdown-ocr plugin with a vision-capable LLM client, Azure Document Intelligence, or Azure Content Understanding.

How do I batch convert a folder of documents to Markdown?▼

Run the bundled batch_convert.py script with an input and output directory, optionally passing --recursive, --extensions, and --manifest. It uses convert_local(), skips symlinks, preserves subdirectories, and writes each result as <source-filename>.md.

Is it safe to pass user-supplied URLs to MarkItDown?▼

No, convert() and convert_uri() are intentionally permissive and provide no SSRF, size, or redirect controls. Validate the scheme, destination, redirects, size, and timeout yourself, fetch with your own policy, then call convert_response().

Why does MarkItDown raise MissingDependencyException?▼

The exception means a converter matched your file but its optional dependency is not installed. Install the matching pinned extra, such as markitdown[pdf]==0.1.6, or install markitdown[all]==0.1.6 for every built-in feature.