Skip to content

Repository files navigation

MDify Pro — free open-source document to Markdown converter that turns PDF, Word, Excel, PowerPoint, HTML, CSV and images into clean RAG-ready Markdown

Live demo License Next.js FastAPI MarkItDown CI PRs welcome

MDify Pro is a free, open-source document to Markdown converter. It turns PDF, Word, Excel, PowerPoint, HTML, CSV, JSON, and image files into clean, RAG-ready Markdown, then hands it back with word, character, and token counts plus a quality score.

Open the live app → · Why use it · Deploy your own · Roadmap


Table of Contents


The problem MDify Pro solves

Feed a raw PDF straight into GPT-4 and you pay for thousands of tokens the model never needed. Fonts, layout tags, binary junk, invisible table markup. The model burns context budget parsing all of it before it answers your question.

Markdown is the format large language models read best. Headings, lists, tables, plain paragraphs. That is what every major model trained on. Convert the document first and the same content costs 60 to 70 percent fewer tokens.

Converting a PDF to Markdown with MDify Pro cuts an example 15,000-token document down to about 4,500 tokens, a 70 percent reduction

One team we know cut a monthly LLM bill from $340 to $98 on a set of SEC filings by converting to Markdown before ingestion. Same retrieval quality, a third of the cost. Those token numbers are estimates and shift with the document and the model tokenizer, so treat them as a direction, not a promise.

If you build RAG pipelines, ship docs-as-code, or move a pile of contracts into a searchable knowledge base, this is the boring step that saves you money on every run.

What it does

  • Convert 20+ file types to Markdown in seconds. Drag and drop, or click to browse.
  • Batch convert up to 10 files at once and download the results as one .zip.
  • RAG-ready output. Pick a profile that strips boilerplate, normalizes headings, and drops repeated page headers and footers.
  • Token and quality read-out. Every conversion returns word, character, and estimated-token counts, a token-reduction figure, and a 0 to 100 Markdown quality score.
  • Scanned-PDF warning. If a PDF is mostly images with little real text, MDify Pro says so instead of handing you broken Markdown.
  • No account, no watermark, no paywall. Convert and leave.
  • A public API for the same conversion from a script or CI job.

Supported formats

Every format below is tested, not just claimed.

Format Extensions Tables What you get
PDF .pdf ⚠️ text-native Text extraction. Scanned/image PDFs get a low-structure warning
Word .docx Strong structure preservation
PowerPoint .pptx Slides and speaker notes
Excel .xlsx .xls Rows become Markdown tables
HTML .html .htm HTML to structured Markdown
CSV / TSV .csv .tsv Tabular Markdown
JSON / XML .json .xml Structured-data conversion
Text / Markdown .txt .md Normalize, clean, analyze
Images .png .jpg .webp Metadata today, OCR text coming (see Roadmap)

How it works

MDify Pro workflow: drop your files, pick a profile and convert, then preview copy or download the Markdown

Drop your files. Pick a profile. Hit convert. The Markdown shows up with syntax highlighting, and you copy it, download the .md, or grab the whole batch as a zip. That is the whole loop.

Behind the button, each file runs through a small, testable pipeline: validate the upload, sniff the real file type by its bytes, convert with MarkItDown, normalize and optimize the Markdown, then analyze it for stats and quality. No step trusts the one before it.

Processing profiles

One document, four ways out. Choose based on what reads the result next: a person, or a model.

Profile What it does
Standard Faithful conversion. Whitespace normalized, nothing removed.
Clean Strips leftover HTML artifacts and tightens whitespace.
Compact Clean, plus drops images and repeated header/footer lines to cut tokens. Tables stay.
RAG-ready Normalized heading hierarchy, boilerplate removed, HTML stripped, tables kept. Built for LLM ingestion.

Public API

Convert from a script, a CI job, or a RAG pipeline. Set an API key on the backend, then:

curl -X POST https://mdify-pro-app.vercel.app/api/v1/conversions \
  -H "X-API-Key: <your-key>" \
  -F "file=@report.pdf" \
  -F "profile=rag_ready"

You get back the same JSON the web app uses: the Markdown, the stats, the quality block, and a token_reduction_pct. Auth also accepts Authorization: Bearer <key>. The web app itself stays key-free. Interactive docs live at /docs on the backend.

Run it locally

You need Python 3.11+ and Node 20+. Two terminals.

Backend

cd backend
python -m venv .venv && . .venv/Scripts/activate   # macOS/Linux: source .venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8000

Frontend

cd frontend
npm install
cp .env.example .env.local      # set BACKEND_URL=http://localhost:8000
npm run dev                     # http://localhost:3000

That is it. Open localhost:3000 and convert something. Deploying to Vercel and Render is written up step by step in DEPLOYMENT.md.

Architecture

MDify Pro ships as two separate apps. The frontend on Vercel talks to the backend on Render over HTTPS. Neither depends on the other's internals, so you can redeploy one without touching the other.

MDify Pro architecture: browser to Vercel Next.js frontend to Render FastAPI backend, running a validate, convert with MarkItDown, optimize, analyze pipeline

The frontend follows an MVVM split. Views render, view-models hold state and orchestration, and a single API client is the only code that touches the network. The backend is layered: API routes call a conversion service, which runs the pipeline through a converter adapter. MarkItDown sits behind that adapter, so a specialized engine (OCR, for example) can slot in later without a rewrite.

Tech stack

  • Frontend: Next.js 14, TypeScript, Tailwind CSS, a dual-theme Liquid Glass interface with real edge refraction on desktop.
  • Backend: FastAPI, Python 3.11, layered pipeline, per-IP and per-key rate limiting, magic-byte upload validation.
  • Engine: Microsoft MarkItDown.
  • Hosting: Vercel (frontend) and Render (backend), deployable on free tiers.

Roadmap

MDify Pro grows one deployable phase at a time. Shipped so far: the converter, processing profiles, the quality engine, token intelligence, batch and zip export, and the public API. Next up: OCR for images, user accounts with saved history, and a durable job platform for async and large-file work.

The full plan, dependency order, and free-tier cost strategy live in RoadMap.docx.

Contributing

Issues and pull requests are welcome. New format extractors, quality checks, bug fixes, and docs all help. Run ruff check . and pytest in backend, and npm run typecheck and npm run build in frontend before you open a PR. CI runs the same checks.

If MDify Pro saved you tokens, a star on the repo helps other people find it.

FAQ

What is the best way to convert a PDF to Markdown for a RAG pipeline? Convert with a text-first tool, then clean the output before you embed it. MDify Pro does both: it extracts the text and, with the RAG-ready profile, normalizes headings and strips boilerplate so your chunks stay clean.

Does MDify Pro do OCR on scanned PDFs? Not yet. A scanned or image-only PDF gets a low-structure warning instead of broken Markdown. OCR for images is on the roadmap, images first.

Is it really free? Yes. No account, no watermark, no pricing page. The code is MIT-licensed and you can self-host it on free Vercel and Render tiers.

How accurate is the token count? It is an estimate, around four characters per token, labelled as such in the app. Real counts depend on the model's tokenizer, so use the number to compare before and after, not as an invoice.

What is MDify Pro built on? A Next.js and TypeScript frontend, a FastAPI backend, and Microsoft's MarkItDown as the conversion engine.

License

MIT. See LICENSE. Built by DevBehindYou, powered by Microsoft MarkItDown.

About

MDify Pro — free, open-source document to Markdown converter. Turn PDF, Word, Excel, PowerPoint, HTML, CSV & images into clean, RAG-ready Markdown and cut LLM token costs up to 70%. Next.js + FastAPI, powered by Microsoft MarkItDown.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages