LocalPDF

How LocalPDF works

Most online PDF tools work by uploading your file to a server, processing it there, and sending back a result. LocalPDF doesn't do that. Every tool on this site runs entirely inside your browser tab, using two open-source JavaScript libraries: pdf-lib and PDF.js.

pdf-lib: building and editing PDFs

When you merge PDFs, split one apart, turn images into a PDF, or delete/reorder/rotate pages, that work is done by pdf-lib — a library that reads and writes the PDF file format directly in JavaScript. To keep the page responsive on large files, this work runs inside a background thread (a Web Worker) rather than on the main thread that draws the page.

PDF.js: viewing and reading PDFs

When you view a PDF, generate page thumbnails, extract text, or convert PDF pages to images, that's handled by PDF.js — the same rendering engine that powers Firefox's built-in PDF viewer. PDF.js uses its own background script to parse PDF files efficiently; that script is served from this site itself, not a third party, so no file data is ever sent anywhere during rendering.

What "never uploaded" actually means

Concretely: when you drop a file onto any tool on this site, it's read directly from your device into your browser's memory. No fetch, no form submission, no network request carries your file data anywhere. You can confirm this yourself using your browser's developer tools — open the Network tab while converting a file, and you'll see no outgoing request containing your PDF or image data.

For the full picture on what little data is collected (aggregate analytics, advertising cookies once ads are enabled), see our Privacy Policy.