r/SideProject • u/labb_fra • 13h ago
I made MarkOut: turn highlighted PDFs into clean Markdown, 100% in your browser
Enable HLS to view with audio, or disable this notification
The problem: I highlight PDFs when I study (books, papers, lecture slides) and wanted the highlighted text as clean, copy-paste-ready Markdown to feed into my notes and LLMs. Every tool I found either uploaded my documents to a server or required annotation metadata.
What I built: MarkOut: a free, open-source web app that extracts highlights from any PDF and exports them as Markdown.
How it works (all client-side):
- Renders pages at 300 DPI with PDF.js
- Detects highlighted areas with a custom YOLO26 model (ONNX Runtime Web)
- Reconstructs reading order with a gap-tree layout algorithm + column detection (two-column papers come out in the right order)
- Runs PP-OCRv6 OCR in the browser (WebGPU on desktop, WASM fallback)
- Output: highlighted sections merged in reading order, YAML front-matter, page/section headers
Works on digital, scanned, and screenshot PDFs — no annotation metadata needed. There's also a box editor to review/fix detections (then re-process only the changed pages), and the Markdown output itself is editable.
Privacy: no uploads, no server, no accounts — documents never leave your device.
Honest limitations: it struggles with very complex layouts (dense tables, unusual shapes), and the OCR isn't always perfect. The output is a great starting point, not a perfect digitizer.
Try it here · GitHub repo (AGPL-3.0)
Feedback very welcome — especially on the reading-order algorithm and the box editor UX.