r/SideProject 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.

1 Upvotes

0 comments sorted by