About MarkOut

Highlighted text should be easy to reuse. MarkOut turns it into Markdown — without ever sending your PDF anywhere.

Why MarkOut exists

Every student, researcher and writer knows the ritual: you highlight a PDF, then you retype the passages into notes. Existing "PDF to text" tools either require uploading your document to a third-party server, or mangle the structure of what you selected.

MarkOut was built around two simple rules:

  • Your PDF never leaves your device. All extraction, detection and OCR run locally in the browser tab.
  • You get clean Markdown, not a wall of text. Highlights are extracted in reading order, grouped by page and section, ready to paste into any notes app or LLM.
Privacy by architecture. Because there is no backend, there is nothing to leak: no accounts, no uploads, no logs. MarkOut stores only trivial local preferences (theme, GPU mode) in your browser's localStorage.

How it works under the hood

The same neural pipeline runs on every PDF, digital or scanned:

  • Custom YOLO26 model — a detection model trained on highlights (self-hosted ONNX) finds the marked areas on every page.
  • PaddleOCR — recognized text is reconstructed with a reading-order algorithm (gap-tree + column layout), so multi-column documents come out in the right order.

Want the details? See How it works.

Open source

MarkOut is free and open source. The code, the models and this website are on GitHub — feel free to read it, fork it, report issues or suggest features.

If MarkOut saves you time, a star on GitHub is the best way to say thanks:

Built with

Vite 6 PDF.js ONNX Runtime Web PaddleOCR.js Custom YOLO26 ONNX Vanilla JS / ES2022

All AI models are self-hosted and served from this site — no third-party CDNs, no tracking.

📄 Upload a PDF — it's free