Don't take our word for it. Verify it yourself.
Every browser shows which data a website sends. In three steps you can see that your file isn't uploaded.
- 1
Open the developer tools
Press F12 (Mac: ⌥ ⌘ I) and choose the Network tab. Leave it open.
- 2
Use a tool
For example, merge two PDFs and download the result, just as you normally would.
- 3
See what leaves
An upload would show up as a request as big as your file, often several MB. You won't find one.
| Name | Method | Status | Type | Size |
|---|---|---|---|---|
| merge-pdf.html | GET | 200 | document | 18 kB |
| style.css | GET | 200 | stylesheet | (cache) |
| app.js | GET | 200 | script | (cache) |
| beacon.min.js (static.cloudflareinsights.com) | GET | 200 | script | (cache) |
| pdf-lib.min.js | GET | 200 | script | (cache) |
| pdf.min.js | GET | 200 | script | (cache) |
| jszip.min.js | GET | 200 | script | (cache) |
| rum (cloudflareinsights.com) | POST | 204 | ping | 0.4 kB |
Not a single request contains your file. Almost everything comes from www.pdfcommunity.org itself: the page, its styles and scripts, and the PDF libraries. You'll also see our visitor counter from Cloudflare, which works without cookies: the small script beacon.min.js from static.cloudflareinsights.com and a short report (rum) to cloudflareinsights.com. That report is only a few hundred bytes, even when you process a 50 MB PDF: there's no file in it, only the fact that a visit happened. Only if you clicked "Accept" in the cookie banner will you also see requests to Google Analytics (googletagmanager.com and google-analytics.com): they count page visits, not your files.
Open a tool, wait a few seconds until the page has fully loaded (or add a file first), then turn off your internet and merge your files. It just works, because no server is needed.
While processing, every tool shows how much was processed on your device, and that 0 bytes of your files were uploaded.
The technology behind the tools, and what does and what doesn't go over the internet: How PDFCommunity works.
For some tasks your browser fetches extra files from us: a font for a watermark with special characters or in another script (such as Polish, Arabic or Japanese), and, if they weren't stored yet, character tables or standard fonts that some PDFs need to be read. None of your file goes with them. Your browser always asks for the whole set at once, so our server can't tell which script is involved, only that such files were needed, just as it sees which page you open.
The size check catches an uploaded file, but not a few bytes such as a file name or a page count. The counter in the tools only sees normal requests from the page itself, not a background worker, a WebSocket or a form. To rule those out too, read the code: in the Sources tab your browser shows the readable code, because we publish the source maps with it.