MD Converter is a free, no-auth document converter that transforms PDF, DOCX, and PPTX files directly into clean Markdown (.md). Designed with a seamless, SaaS-like user experience, it operates entirely statelessly—no signups, no databases, just pure conversion power.
Simply drag and drop your file, convert, and instantly copy or download your formatted Markdown text.
- Multi-Format Support: Automatically detects and converts PDF, Word (
.docx), and PowerPoint (.pptx) files. - Lightning Fast: Stateless FastAPI backend parses documents rapidly without any database overhead.
- Beautiful UI: A premium, "iLovePDF meets Claude AI" aesthetic featuring clean layouts, smooth transitions, and a drag-and-drop zone.
- No Authentication: 100% free to use immediately. No logins, no user tracking.
- Containerized: Fully Dockerized environment for one-click booting and cross-platform compatibility.
- Framework: Next.js 14 (App Router)
- Styling: Tailwind CSS & Lucide React
- Components:
react-dropzonefor robust file uploading
- Framework: FastAPI
- Parsers:
PyMuPDF(PDF text extraction)mammoth(DOCX to Markdown)python-pptx(Slide text extraction)
- Containerization: Docker & Docker Compose
- Tooling: Comprehensive
Makefilefor developer workflows
Make sure you have Docker and Make installed on your machine.
Start the production stack (Frontend + Backend) with:
make upFor local development with hot reload:
make devOnce the containers are running, the application will be available at: 👉 http://localhost:3000
(The backend API runs concurrently on http://localhost:8000)
You can configure the frontend API base URL by setting NEXT_PUBLIC_API_URL.
We provide a developer-friendly CLI wrapper. Just run these commands from the project root:
| Command | Description |
|---|---|
make help |
Shows all available commands. |
make dev |
Starts the development environment with hot reload. |
make up |
Starts production in detached mode (builds if necessary). |
make prod |
Alias for production startup. |
make down |
Stops all running MD Converter containers. |
make status |
Shows the active status of the containers. |
make restart |
Restarts the containers without rebuilding. |
make rebuild |
Forces a fresh build and recreation of the containers. |
make logs |
Streams the logs from both frontend and backend. |
make clean |
Tears down containers, removes volumes, and prunes unused images. |
make reset |
Performs a full clean and completely rebuilds the app. |
md-converter/
├── frontend/ # Next.js 14 App
│ ├── app/ # Next.js App Router (pages & global styles)
│ ├── components/ # Reusable React components (UploadBox, MarkdownPreview)
│ ├── lib/ # API utilities
│ └── Dockerfile
├── backend/ # FastAPI Application
│ ├── app/
│ │ ├── converters/ # Conversion logic (pdf.py, docx.py, pptx.py)
│ │ └── main.py # FastAPI entrypoint & router
│ ├── requirements.txt
│ └── Dockerfile
├── docker-compose.yml # Production compose
├── docker-compose.dev.yml # Development compose
└── Makefile # Developer command shortcuts