Skip to content

Releases: majiayu000/markitdown-rs

markitdown-rs 0.2.0

Choose a tag to compare

@majiayu000 majiayu000 released this 29 Oct 13:42
73ac0c0

What's Changed

New Contributors

Full Changelog: v0.1.0...v0.2.0

markitdown-rs 0.1.0

Choose a tag to compare

@majiayu000 majiayu000 released this 23 Oct 03:34
d58555a

markitdown-rs is Microsoft's markitdown CLI rewritten in Rust: one binary that converts PDF, Word, PowerPoint, Excel, HTML, EPUB, Outlook and URLs to Markdown with the same output as Python markitdown 0.1.9, byte for byte, without Python, 23–112× faster.

Install

Download the archive for your platform below, unpack it and run markitdown <file>. SHA-256 sums are attached. Or: cargo install --git https://github.com/majiayu000/markitdown-rs markitdown-rs.

What's in 0.1.0

  • Converters: PDF (pdfminer.six + pdfplumber port, incl. borderless tables, encryption, CJK CMaps), DOCX (mammoth 1.13), PPTX (incl. charts), XLSX/XLS (pandas semantics), HTML (+ Wikipedia, Bing, YouTube pages), EPUB, Outlook MSG, ZIP, RSS/Atom, CSV, Jupyter, text/JSON/XML, image/audio metadata via exiftool.
  • Sources: files, stdin, http(s) URLs, file: and data: URIs; flags -o -x -m -c --keep-data-uris as in markitdown.
  • Parity: 400 of 405 test files byte-identical to Python markitdown 0.1.9 (cargo test), plus 6,705 html5lib inputs and 13 URL cases.
  • Speed: 23–112× faster CLI end to end; 4.5 MB binary vs a 328 MB virtualenv.

Known limitations

  • PDF text-box order can differ on rare layouts: pdfminer breaks distance ties by CPython memory address (308 of 313 PDFs identical in a wider corpus, 4 differ only there).
  • Content sniffing is rule-based (no magika) and charset detection uses chardetng: files without extensions, short legacy 8-bit text and Outlook messages with a wrong declared code page can differ (5 documented cases).
  • Not implemented: OCR, LLM image captions, audio and YouTube transcripts, Azure Document Intelligence / Content Understanding, plugins, mammoth embedded style maps.
  • Prebuilt binaries: macOS arm64, macOS x86_64, Linux x86_64 (glibc 2.35+). Other platforms: build from source.