Sign inSign up

molandev/markitdown-converter-api

By molandev

•Updated 6 months ago

Convert Office files (DOCX/PPT/Excel) to Markdown via HTTP API (port 10996)

Image
1

439

molandev/markitdown-converter-api repository overview

⁠Document Converter Service - Overview

ā šŸ“¦ Source Code

ā āš ļø Important Notice

This image does NOT support .doc (legacy Word) format.

For .doc files, convert to .docx first using our LibreOffice converter:

docker pull molandev/libreoffice-converter-api:latest

Then convert: .doc → .docx → Markdown

PDF conversion has limitations.

  • Only supports non-scanned PDFs (no OCR capability)
  • Quality is significantly lower than MinerU for complex PDFs

For scanned PDFs or better quality, use our MinerU converter:

docker pull molandev/mineru-converter-api:latest

ā šŸš€ What Is It?

A lightning-fast, cloud-native document conversion service powered by GraalVM Native Image and Python's MarkItDown. Built for high-performance scenarios with minimal resource consumption, it transforms Office documents into clean Markdown format effortlessly.

⁠✨ Core Features

ā šŸ”„ Blazing Fast Performance
  • GraalVM Native Image: Sub-second startup, 50% less memory footprint
  • MarkItDown Powered: Intelligent extraction from Office documents
  • Stream Processing: Handles large files (100MB+) without OOM errors
ā šŸ›”ļø Production-Ready Reliability
  • Smart Concurrency Control: Semaphore-based rate limiting prevents system overload
  • Auto-Cleanup Mechanism: Scheduled task automatically purges temporary files
  • Graceful Degradation: Queuing mechanism with configurable timeouts
ā šŸŽÆ Developer-Friendly API
  • Dual Input Modes: Upload files directly or provide URLs
  • RESTful Design: Clean endpoints with proper HTTP status codes
  • Chinese Filename Support: URL-encoded headers for international compatibility

ā šŸ“¦ Supported Formats

Input FormatOutputBest For
PDFMarkdownNon-scanned documents only
DOCXMarkdownWord documents (2007+)
PPTXMarkdownPowerPoint presentations
XLSX/XLSMarkdownExcel spreadsheets

āš ļø Note:

ā šŸŽ® Quick Start

⁠Pull from Docker Hub
docker pull molandev/markitdown-converter-api:latest
⁠Run in Seconds
docker run -d \
  --name doc-converter \
  -p 10996:10996 \
  -v /data/temp:/app/temp \
  -e CONVERTER_MAX_CONCURRENT=10 \
  -e CONVERTER_RETENTION_MINUTES=10 \
  molandev/markitdown-converter-api:latest
ā šŸ“š API Documentation

Access the complete API guide at: http://localhost:10996/help

⁠Convert Your First Document
# Upload a Word document
curl -F "[email protected]" \
     http://localhost:10996/convert/markitdown/upload \
     -o report.md

# Or provide a URL
curl -X POST "http://localhost:10996/convert/markitdown/url?fileUrl=https://example.com/doc.pdf" \
     -o output.md

# Keep embedded images
curl -F "[email protected]" \
     -F "keepDataUris=true" \
     http://localhost:10996/convert/markitdown/upload \
     -o output.md

ā āš™ļø Configuration

ParameterDefaultDescription
CONVERTER_MAX_CONCURRENT10Max parallel conversions
CONVERTER_RETENTION_MINUTES10Temp file retention
CONVERTER_SCHEDULE_MINUTES5Cleanup interval
SERVER_PORT10996Service port

ā šŸ”§ Advanced Usage

⁠High-Concurrency Setup
docker run -e CONVERTER_MAX_CONCURRENT=20 \
           -e CONVERTER_ACQUIRE_TIMEOUT=60 \
           molandev/markitdown-converter-api:latest
⁠Minimal Resource Environment
docker run -e CONVERTER_MAX_CONCURRENT=3 \
           -e CONVERTER_RETENTION_MINUTES=5 \
           molandev/markitdown-converter-api:latest

ā šŸ’” Why Choose This?

āœ… Zero JVM Warmup - GraalVM Native means instant peak performance
āœ… Resource-Efficient - Runs comfortably on 2C4G instances
āœ… Production-Ready - Smart concurrency control & auto-cleanup
āœ… Cloud-Native - Docker-first design, Kubernetes-ready
āœ… MarkItDown Powered - Best-in-class Office document extraction

ā šŸŽÆ Perfect For

  • AI Knowledge Base Pipelines: Convert Office docs to LLM-friendly Markdown
  • Document Management Systems: Batch conversion workflows
  • Content Migration Projects: Legacy format modernization
  • SaaS Applications: Multi-tenant document processing

Built with Spring Boot 3.5.6 + GraalVM 25 + Python MarkItDown

One engine, one purpose: Perfect Markdown from Office documents. ⚔

Tag summary

Content type

Image

Digest

sha256:5a2f59623…

Size

278.4 MB

Last updated

6 months ago

docker pull molandev/markitdown-converter-api