Skip to main content

Browser-local PDF architecture

LocalPDF ships as a static web application. It has no document-processing API route; tool operations run in the browser that opened the page.

Document data lifecycle

1. Selection

A browser file input grants this tab access to the file selected by the user.

2. Browser memory

The workflow reads File, ArrayBuffer, or Uint8Array data in the current browser context.

3. Local operation

JavaScript and, for some tools, a browser worker or self-hosted WASM module perform the operation.

4. Result

The tool creates a Uint8Array, Blob, image, or plain-text result in browser memory.

5. Download or exit

The user can save the result. Reloading or closing the page releases tab-owned memory.

PDF.js

A self-hosted browser worker parses and renders PDF pages for previews and conversions.

Tesseract

A self-hosted worker and WASM core support optical character recognition in the OCR workflow.

qpdf WASM

A self-hosted WASM binary supports browser-side encryption and structural optimization operations.

Separate metadata channel

If a visitor grants analytics-cookie consent and a measurement ID is configured, LocalPDF can send page and tool-event metadata. The PDF event boundary accepts only a tool identifier plus duration, input count, output byte count, or page count. It does not accept filenames, passwords, extracted text, signatures, annotations, or errors.