What’s New

markitdown

Developer Tools

Python tool for converting files and office documents to Markdown.

Latest v0.1.6 · by microsoftWebsitemicrosoft/markitdown

Changelog

v0.1.6

Version 0.1.6

Added
  • Add OCR layer service for embedded images and PDF scans
  • Add Azure Content Understanding converter
Changed
  • Update warning about binding to non-local interfaces
  • Clarify security posture in READMEs
Fixed
  • Fix O(n) memory growth in PDF conversion by calling page.close()
  • Handle deeply nested HTML that triggers RecursionError
What's Changed
New Contributors

Full Changelog: https://github.com/microsoft/markitdown/compare/v0.1.5...v0.1.6

v0.1.5

Added
  • Add text/markdown to Accept header
Changed
  • Update PDF table extraction to support aligned Markdown
  • Extend table support for wide tables
Fixed
  • PDF parsing does not support partially numbered lists
Removed
  • Remove onnxruntime<=1.20.1 Windows pin
What's Changed
New Contributors

Full Changelog: https://github.com/microsoft/markitdown/compare/v0.1.4...v0.1.5

v0.1.5b1Pre-release

Version 0.1.5b1

Changed
  • Update PDF table extraction to support aligned Markdown
Fixed
  • PDF parsing does not support partially numbered lists
What's Changed
New Contributors

Full Changelog: https://github.com/microsoft/markitdown/compare/v0.1.4...v0.1.5b1

v0.1.4

Version 0.1.4

Security
  • Bumped mammoth to 1.11.0 to address CVE-2025-11849
  • Bumped pdfminer.six to 20251107 to address GHSA-wf5f-4jwr-ppcp

Maintenance release:

Bumps mammoth to 1.11.0 to address cve-2025-11849 And pdfminer.six to 20251107 to address GHSA-wf5f-4jwr-ppcp

v0.1.3

Added
  • Add support for data-src attribute
  • Add checkbox support to CustomMarkdownify
Changed
  • Pin onnxruntime on Windows
  • Have the MarkItDown MCP server read MARKITDOWN_ENABLE_PLUGINS from environment variable
  • Update document intelligence file type handling for HTML
Fixed
  • Resolved an issue with linked images in docx
  • Correctly pass custom llm prompt parameter
  • Fix docx parse error with newlines in alt text
  • Handle PPTX shapes where position is None
Security
  • Ensure safe ExifTool usage by requiring version 12.24 or greater
What's Changed
New Contributors

Full Changelog: https://github.com/microsoft/markitdown/compare/v0.1.2...v0.1.3

v0.1.2

Added
  • Render math equations in .docx documents
  • Add CSV to Markdown table conversion
  • Support API version selection for Document Intelligence
Changed
  • Make it easier to use AzureKeyCredentials with Azure Doc Intelligence
  • Switch from the stdlib minidom parser to defusedxml
  • Update omml.py to use defusedxml
  • Support streamable http mcp
Fixed
  • Fix YouTube transcript errors
What's Changed
New Contributors

@sathinduga made their first contribution in https://github.com/microsoft/markitdown/pull/1160 @erinshek made their first contribution in https://github.com/microsoft/markitdown/pull/1176 @lentil32 made their first contribution in https://github.com/microsoft/markitdown/pull/1175 @createcentury made their first contribution in https://github.com/microsoft/markitdown/pull/1187 @kira-offgrid made their first contribution in https://github.com/microsoft/markitdown/pull/1251 @t3tra-dev made their first contribution in https://github.com/microsoft/markitdown/pull/1256 @JoshClark-git made their first contribution in https://github.com/microsoft/markitdown/pull/1241 @kirisame-wang made their first contribution in https://github.com/microsoft/markitdown/pull/1253 @Wuhall made their first contribution in https://github.com/microsoft/markitdown/pull/1249 @Betula-L made their first contribution in https://github.com/microsoft/markitdown/pull/1245 @rtpacks made their first contribution in https://github.com/microsoft/markitdown/pull/1201

Full Changelog: https://github.com/microsoft/markitdown/compare/v0.1.1...v0.1.2

v0.1.2a1

Pre-release
Added
  • Render math equations in .docx documents
  • Add CSV to Markdown table conversion
  • Support API version selection for Document Intelligence
  • Support streamable http mcp
Changed
  • Make it easier to use AzureKeyCredentials with Azure Doc Intelligence
  • Switch from the stdlib minidom parser to defusedxml
Fixed
  • Fix YouTube transcript errors
Security
  • Fix security vulnerability in XML parsing by using defusedxml instead of minidom
What's Changed
New Contributors

Full Changelog: https://github.com/microsoft/markitdown/compare/v0.1.1...v0.1.2a1

v0.1.1

Added
  • convert_uri function now handles data and file URIs
Changed
  • convert_url renamed to convert_uri
Deprecated
  • convert_url remains as an alias to convert_uri for backward compatibility
What's Changed

convert_url renamed to convert_uri, and now handles data and file URIs by @afourney in https://github.com/microsoft/markitdown/pull/1153

NOTE: convert_url remains an alias to convert_uri, for backward compatibility.

Both now accept file URIs and data URIs:

e.g.,

markitdown = MarkItDown()
result = markitdown.convert_uri("file:///path/to/file.txt")
print(result.markdown)

And,

markitdown = MarkItDown()
result = markitdown.convert_uri("data:text/plain;base64,SGVsbG8sIFdvcmxkIQ==")
print(result.markdown)

Full Changelog: https://github.com/microsoft/markitdown/compare/v0.1.0...v0.1.1

v0.1.0

Added
  • Organized dependencies into optional feature groups installable with pip install markitdown[all]
  • Plugin-based architecture allowing 3rd-party developers to add functionality
  • Support for EPUB format
  • Option to keep data URIs in converted Markdown
  • CLI options to override MIME type, extension, and charset
Changed
  • All conversions are now performed in-memory without temporary files
  • convert_stream() now requires a binary file-like object instead of text file-like objects
  • DocumentConverter class interface changed to read from file-like streams rather than file paths
Fixed
  • Skip generating markdown links in pre blocks
  • Fix UnboundLocalError in MarkItDown._convert
  • Implement retry logic for YouTube transcript fetching and fix URL decoding issue
  • Add support for PPTX shape groups to not miss slide content
  • Make extensions unique in MarkItDown's convert methods
  • Print and log better exceptions when file conversions fail
  • Fixed deepcopy failure when passing llm_client
  • Sort PPTX shapes to be parsed in top-to-bottom, left-to-right order
  • Fix exiftool in well-known paths
  • Switch from puremagic to magika for file type detection
  • Minimize guesses when guesses are compatible
  • Fix string formatting in FileConversionException error message
  • Handle unsupported plot types in PPTX
  • Have magika read from the stream
Overview

Version 0.1.0 (previously 0.1.0a6) is a large release, bringing many improvements over the previous 0.0.2 version.

High-level changes include:

  • Organized dependencies into feature groups — install only the converters you need, or get everything with pip install markitdown[all]
  • A new plugin-based architecture, allowing 3rd-party developers to add functionality to MarkItDown (see the sample plugin)
  • All conversions are performed in-memory — no more temporary files
  • Support for new formats including EPUB
  • Option to keep data URIs in converted Markdown
  • Option to override MIME type, extension, and charset in the command-line interface (useful when reading input from a pipe or stdin)
Breaking changes
  • As noted above, dependencies are now organized into optional feature groups. Use pip install markitdown[all] for backward-compatible behavior.
  • convert_stream() now requires a binary file-like object (e.g., a file opened in binary mode, or an io.BytesIO object). This is a breaking change from the previous version, which also accepted text file-like objects, like io.StringIO.
  • The DocumentConverter class interface has changed to read from file-like streams rather than file paths. No temporary files are created anymore. If you are the maintainer of a plugin or custom DocumentConverter, you likely need to update your code. Otherwise, if you're only using the MarkItDown class or CLI (as in these examples), you should not need to change anything.  
Detailed list of contributions
New Contributors

Full Changelog: https://github.com/microsoft/markitdown/compare/v0.0.2...v0.1.0

v0.1.0a6

Pre-release
Added
  • Support for preserving base64 encoded images
Fixed
  • Resolve a console encoding error
What's Changed
New Contributors

Full Changelog: https://github.com/microsoft/markitdown/compare/v0.1.0a5...v0.1.0a6