Any Document to Clean Markdown, Free and Offline
Your PDF is a prison for your own words. The moment you want to feed a document to an AI — a research paper, lecture notes, a spec — copy-paste turns it into garbage: broken lines, lost headings, columns fused together. The AI then reasons over mush.
There is a free, open-source fix that runs on your laptop in milliseconds. In the reel I converted a real research paper live; here is the tool and the exact command.
The tool: anydoc
anydoc by Firecrawl (Rust, MIT license) converts Word, PowerPoint, Excel, OpenDocument, RTF, EPUB, CSV and PDF into clean Markdown. The headline: it uses no ML models, no GPU, and no cloud for the local path — it is a fast parser, not an AI service, so it runs offline and nothing you convert leaves your machine. The project benchmarks a ~4.4-millisecond median across 100 real documents.
Use it in one command
If you have Node installed, you do not even need to install anything permanently:
npx @firecrawl/anydoc paper.pdf
Hand it a text-based PDF — a research paper, an article, notes — and clean Markdown prints instantly: # and ## headings, real paragraphs, numbers intact. Pipe it straight into a file for your AI:
npx @firecrawl/anydoc paper.pdf > paper.md
Where structure really survives: spreadsheets
The cleanest “structure stays structure” result is a spreadsheet, not a PDF:
npx @firecrawl/anydoc data.csv
A CSV or Excel sheet comes out as a perfect GitHub-flavored Markdown table — rows and columns intact — which is exactly what you want an AI to read.
Clean data in is how good AI work starts
DeployU teaches the full pipeline — prep, retrieval, and deployment — on real infrastructure, not slideware.
The honest limits (so you are not surprised on camera)
I tested this live before recommending it. Three things to know:
- Text-based PDFs only. The free local tool reads a PDF’s text layer. Scanned or image-only PDFs (a photo of a page) need OCR — that is Firecrawl’s hosted service, not this free offline tool. Do not expect it to read a scanned document.
- PDF tables can fragment. A printed PDF has no real table structure to recover, so complex PDF tables may come out with split or duplicated rows. For tables, convert the spreadsheet, not a PDF of it.
- “Milliseconds” is the parser, not your shell. The 4.4 ms figure is the Rust function itself. Run it through
npxand the Node startup dominates, sotimewill show ~20–30 ms. Either way it is effectively instant — just do not expect a stopwatch to read sub-5 ms.
None of that takes away the win: for the everyday case — a text PDF or an Office document you want an AI to actually understand — this turns a copy-paste mess into clean Markdown, free, offline, in the time it takes to hit Enter.
From clean documents to deployable AI
DeployU turns “I converted a PDF” into real RAG and AI systems you build and ship on real cloud accounts.
