Python tool for converting files and office documents to Markdown.
★ 194,675⑂ 14,678👁 591⑃ 1,287● 694▤ 24◈ 78
194,675
stars
+165+1,115
14,678
forks
591
watchers
1,287
prs
694
issues
24
releases
78
discussions
README
MarkItDown !PyPI - Downloads [!IMPORTANT] MarkItDown performs I/O with the privileges of the current process. Like open() or requests.get(), it will access resources that the process itself can access. Sanitize your inputs in untrusted environments, and call the narrowest convert_ function needed for your use case (e.g., convert_stream(), or convert_local()). See the Security Considerations section of the documentation for more information. MarkItDown is a lightweight Python utility for converting various files to Markdown for use with LLMs and related text analysis pipelines. To this end, it is most comparable to textract, but with a focus on preserving important document structure and content as Markdown (including: headings, lists, tables, links, etc.) While the output is often reasonably presentable and human-friendly, it is meant to be consumed by text analysis tools -- and may not be the best option for high-fidelity document conversions for human consumption. MarkItDown currently supports the conversion from: - PDF - PowerPoint - Word - Excel - Images (EXIF metadata and captioning) - Audio (EXIF metadata and speech transcription) - HTML - Text-based formats (CSV, JSON, XML) - ZIP files (iterates over contents) - YouTube URLs - EPubs - ... and more! NOTE: Image captioning and speech transcription rely on web-hosted services. Why Markdown? Markdown is extremely close to plain text, with minimal markup or formatting, but still provides a way to represent important document structure. Mainstream LLMs, such as OpenAI's GPT-4o, natively "_speak_" Markdown, and often incorporate Markdown into their responses unprompted. This suggests that they have been trained on vast amounts of Markdown-formatted text, and understand it well. As a side benefit, Markdown conventions are also highly token-efficient. Prerequisites MarkItDown requires Python 3.10 through 3.14. It is recommended to use a virtual environment to avoid dependency conflicts. With the standard Python installation, you can create and activate a virtual environment using the following commands: bash python -m venv .venv source .venv/bin/activate If using uv, you can create a virtual environment with: bash uv venv --python=3.12 .venv source .venv/bin/activate NOTE: Be sure to use 'uv pip install' rather than just 'pip install' to install packages in this virtual environment If you are using Anaconda, you can create a virtual environment with: bash conda create -n markitdown python=3.12 conda activate markitdown Installation To install MarkItDown, use pip: pip install 'markitdown[all]'. Alternatively, you can install it from the source: bash git clone [email protected]:microsoft/markitdown.git cd markitdown pip install -e 'packages/markitdown[all]' Usage Command-Line bash markitdown path-to-file.pdf document.md Or use -o to specify the output file: bash markitdown path-to-file.pdf -o document.md You can also pipe content: bash cat path-to-file.pdf | mark
Top issues
#12LLM Integration17 comments · 2024-12-13#23Support for .doc extensions15 comments · 2024-12-14#1282DocxConverter threw KeyError with message: 'w:ilvl'14 comments · 2025-06-03#114图片无法转换14 comments · 2024-12-18#1234[Feature Request] Magika Dependency Optional13 comments · 2025-05-04#204Path to markitdown13 comments · 2024-12-23#41Preserve tables, titles (structure) of PDF documents12 comments · 2024-12-15#316Document Intelligence is not working11 comments · 2025-02-04
Discussions
#2789Proposal: optional source maps from Markdown back to document locations0 comments · 2026-10-29#2715MarkItDown included in AgentManager's tool catalog0 comments · 2026-10-18#2669docx-repro: shrink DOCX conversion bug reports while preserving the exact symptom0 comments · 2026-10-07#2593Capping what one batch of llm_client image captions can cost0 comments · 2026-10-03#2590browser Claude1 comments · 2026-10-03#2548Install as Claude Skill?3 comments · 2026-09-23#2471Running MarkItDown as a standing REST service (not just a CLI call)0 comments · 2026-09-12#2397Markitdown MCP Plugin for VSCode2 comments · 2026-09-07
Latest release
Version 0.1.9 v0.1.9 2026-10-21What's Changed increase chunk size from 512 bytes to 64 KB for HTTP response reading by @YasirAlibrahem in https://github.com/microsoft/markitdown/pull/1511 fix(wikipedia): accept mobile (m.wikipedia.org) URLs by @GopalGB in https://github.com/microsoft/markitdown/pull/1850 fix: handle None sys.stdout.encoding in CLI output by @octo-patch in https://github.com/microsoft/markitdown/pull/1656 Add language parameter for the audio transcription by @hchmch in https://github.com/microsoft/markitdown/pull/1295 Perf: Optimize non-seekable stream buffering using shutil.copyfileobj by @YasirAl
相关报道 (11)
techritualMarkitdown:微軟開源工具,一鍵將 Office 文件轉 Markdown2026-08-08電腦王阿達微軟開源超好用工具 MarkItDown:把 PDF、Word、PPT 一鍵轉成 AI 看得懂的 Markdown2026-04-09腾讯网微软开源新工具 MarkItDown,Office 文件轻松转换为Markdown格式2024-12-17新浪网微软发布MarkItDown开源Python库 兼容多种文件格式2024-12-17CSDN2026.09.18开源项目日榜:STM32、MarkItDown与蚁群算法热点速览2026-11-09CSDNGitHub热榜8大项目深度拆解:从AI工具到嵌入式与算法2026-11-06CSDN一周GitHub精选:6个值得动手的开源项目,从AI到嵌入式全覆盖2026-11-05QQ NewsMarkdown 已死,HTML 当立?2026-05-1253AI微软偷偷上线一款MCP神器,可让Office文件秒变Markdown!2025-04-20智源社区6大RAG知识库PDF文档处理工具对比!2025-03-04
News & coverage (12)
Hacker NewsMarkItDown: Python tool for converting files and office documents to Markdown▲ 329 · 81 comments · 2024-12-13Hacker NewsPython tool for converting files and office documents to Markdown▲ 6 · 0 comments · 2026-06-11Hacker NewsMicrosoft Markitdown jumped on the MCP bandwagon▲ 2 · 0 comments · 2025-04-22Hacker NewsMicrosoft Wakeup: You Have a Killer Static Site Generator!▲ 2 · 1 comments · 2019-01-04ad-hoc-newsMarkItDown: Microsofts Tool senkt Token-Verbrauch um 70 Prozent2026-06-13remio.aiMicrosoft MarkItDown Guide: Install, Use, Supported Formats, and Limitations2025-09-15InfoWorldMarkItDown: Microsoft’s open-source tool for Markdown conversion2025-04-24korbenMarkItDown - Convert all your documents to Markdown super easily2024-12-14OX SecurityNew MCP Security Flaws: Kubectl-mcp-server, Archon OS, and MarkItDown Vulnerabilities2026-05-12KDnuggets12 Python Libraries You Need to Try in 20262026-02-13