Drop a document. Get Markdown.
Built on Microsoft MarkItDown.
Made by DevBehindYou.
You have a folder of PDFs, Word docs, spreadsheets, and slide decks. You need them in Markdown. Maybe you're feeding files into an LLM pipeline. Maybe you're migrating a wiki. Maybe you're tired of copy-pasting from Word into your CMS.
MDify handles the conversion. Upload your files. Click convert. Download the .md output.
No account. No watermark. No pricing page.
MDify is a free, open-source web app. You drag documents onto it, and it gives you clean Markdown files back.
- 12+ file formats in, one format out
- 10 files per batch, converted one at a time to stay within memory limits
- Syntax-highlighted preview right in the browser
- Copy or download with one click
- Dark-themed UI because nobody asked for light mode
| Format | Extensions |
|---|---|
.pdf |
|
| Word | .docx |
| Excel | .xlsx .xls |
| PowerPoint | .pptx |
| HTML | .html .htm |
| Plain Text | .txt |
| CSV | .csv |
| JSON | .json |
| XML | .xml |
| ePub | .epub |
| Images | .jpg .jpeg .png (metadata extraction) |
Your files → Next.js frontend → FastAPI backend → MarkItDown → clean .md
The frontend is a Next.js 14 single-page app with drag-and-drop upload. It proxies requests to a FastAPI backend through next.config.js rewrites. The backend wraps Microsoft's MarkItDown library, converts files to Markdown, and sends the output back as JSON.
Your browser never talks to the Python server directly. The Next.js app handles the proxy.
| Layer | Tech |
|---|---|
| Frontend | Next.js 14, React 18, Tailwind CSS |
| Backend | Python 3.11, FastAPI, Uvicorn |
| Conversion | Microsoft MarkItDown |
| Hosting | Render (free tier) |
Backend:
cd backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
uvicorn main:app --reload --port 8000Frontend (second terminal):
cd frontend
cp .env.example .env.local
npm install
npm run devOpen http://localhost:3000. Upload a file. Watch it convert.
The app runs free on Render. First load takes 20-30 seconds while the backend wakes up. The frontend shows a countdown while it waits.
App: https://mdify-app.vercel.app Use Cases: https://mdify-app.vercel.app/usecase
Built by DevBehindYou. Powered by Microsoft's open-source MarkItDown library.