How PDF-IO works
Updated
Every PDF-IO tool runs as code inside your web browser. When you choose a file, the browser reads it from your device, the tool changes it in memory, and the result is saved back to your device. No server is involved.
What runs where
The pdf-io.com server only delivers the website itself: the pages, the code of the tools and, for compression, the Ghostscript engine. These are the same files for every visitor. After that, all work happens locally.
- Compress PDF uses Ghostscript, a long-established open-source PDF engine, compiled to WebAssembly so it runs in the browser at close to native speed. We use Ghostscript 10.08, and the engine is about 16 MB (11 MB compressed). It is downloaded once, then cached by your browser.
- Merge, Split, Organize and Images to PDF use pdf-lib, an open-source JavaScript library that reads and writes PDF files.
- Page previews are drawn with Mozilla's pdf.js, the PDF viewer built into Firefox.
How to verify it
You don't have to take our word for it. Load a tool, then disconnect from the internet and use it: it keeps working, which would be impossible if your file had to be sent anywhere. In the developer tools of your browser, the network panel shows every request the page makes; none of them carries your document.
What we do collect
PDF-IO is free because it shows ads from Google AdSense, and it measures visits with Google Analytics. These services see that you visited a page, not your files. The privacy policy lists the details.
Compress PDFs from the command line
Compress PDF runs the same command you could run yourself with Ghostscript installed on Linux or macOS. The Balanced setting corresponds to /ebook:
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=out.pdf in.pdfOpen source
Our WebAssembly build of Ghostscript, including the script that compiles it from Artifex's source code, is based on ochachacha/ps-wasm, and our worker is published under the AGPLv3 at Fortytwo-Solutions/ps-wasm-worker.