How it works

From a highlighted PDF to clean Markdown in five steps — without your document ever leaving the browser.

  1. You upload the PDF

    Drag & drop or select a PDF with highlighted text of any color. The file is read locally by PDF.js: nothing is transmitted anywhere — you can even test it with your most confidential documents.

  2. MarkOut detects the highlights

    Every PDF — digital or scanned, with or without annotations — goes through the same neural pipeline: a custom YOLO26 model (self-hosted ONNX) detects the highlighted areas visually on the rendered page.

  3. Reading order is reconstructed

    Detected text rows are organized with a gap-tree layout algorithm: paragraphs and columns are identified, and every highlight is assigned to the row that contains it. The result is a proper reading order — even for two-column academic papers.

  4. OCR recognizes the text

    Each highlighted fragment is cropped (deskewed per row) and recognized by PaddleOCR, running locally via WebAssembly — or WebGPU on desktop for faster AI inference. The recognition model covers English and the most common Latin-script languages (it, fr, de, es, pt, nl…).

  5. You get clean Markdown

    Highlights are merged in reading order into a Markdown document: YAML front-matter with source and date, ## Page N sections, and stable citeable IDs ([H12]) per line — ideal for notes apps and LLM workflows. Copy it or download the .md file.

What makes the output reliable

  • One pipeline for every PDF — the same YOLO detection + OCR flow runs on every document, scanned or digital: consistent behavior, no hidden paths.
  • Deterministic layout — the same algorithm drives the pipeline and the debug views: no hidden logic.
  • Quality flags — lines the OCR couldn't read are marked (⚠️ no text) instead of silently dropped, with an extraction-notes section.
  • Low memory profile — on mobile, pages are processed one at a time and models are released at the end.
Transparent by design. In debug builds the UI shows every step: YOLO boxes, detected rows, regions and per-fragment OCR status — so you can audit exactly what happened with your PDF.
📄 Upload a PDF — it's free