Most file-to-text converters optimize for humans reading the result; this one optimizes for a model reading it. The bet is simple: modern LLMs already "speak" Markdown fluently because they were trained on mountains of it, so emitting headings, tables, lists and links as plain Markdown is both semantically richer and more token-efficient than dumping raw text or HTML into a prompt.
What Sets It Apart
- One API for a wide format spread — Office documents, PDF, EPUB, images, audio, HTML, YouTube URLs, CSV/JSON/XML, and even ZIP archives whose contents are walked recursively. You stop maintaining a converter per file type.
- Structure is the product, not a side effect. Unlike textract or generic HTML-to-Markdown tools that flatten everything, it deliberately preserves the document skeleton so downstream chunking and retrieval have anchors to work with.
- Optional intelligence where plain parsing fails: OCR for scanned images, speech transcription for audio, LLM vision captions for pictures and slides, and Azure Document Intelligence for hard PDFs. Heavy dependencies stay opt-in via pip extras, so a base install stays lightweight.
Great Fit If
You are feeding heterogeneous documents into a RAG index or analysis pipeline and want one predictable Markdown surface instead of bespoke parsers. It ships both a CLI and a Python class, plus a plugin system for custom converters. Look elsewhere if you need pixel-faithful reproduction, exact layout, or polished output for human reading — fidelity to visual presentation is explicitly not a goal, and complex tables or scanned PDFs can still need the optional OCR and Azure paths to come out clean.