Unlock in three steps
- Add your PDF.
- Type the password you know, if it asks for one.
- Download the unlocked copy.
For passwords and print or copy restrictions, see Unlock PDF.
How unlocking runs in your browser
- The engine. qpdf, a widely used open-source PDF tool, is compiled to WebAssembly (qpdf.wasm, about 1.3 MB) so it can run inside your browser. The page downloads it from pdfwrangle.com once, in the background, shortly after it loads. It's kept in memory and reused for every file you unlock.
- A private, in-memory workspace. Your PDF is written into qpdf's virtual file system, which exists only in the page's memory, not on a server and not as a file on your disk.
- Checking the protection. qpdf first reports whether the file needs an open password or only has print and copy restrictions.
- Removing it. qpdf then decrypts the file into a new in-memory PDF. If the file needs a password, the one you typed is passed to qpdf inside the page and goes nowhere else. A wrong password simply makes qpdf report an error, and you can try again.
- Saving. The unlocked copy is downloaded from a blob: link, which points at your browser's memory rather than at a server.
What your browser downloads
Everything you see in the Network panel is your browser downloading something from pdfwrangle.com, not sending your file to it. When a page loads, that includes the page itself, its JavaScript files under /_next/static/, fonts, the logo, and small page-data files for the links in the menu (their names end in .txt?_rsc=…), which the site prefetches so other pages open faster. All of these are GET requests, and none carries your file.
A moment after the page appears, the unlock page also downloads the qpdf code and qpdf.wasm (a file under /v/ whose name starts with qpdf), in the background. That happens once per visit: unlocking more files doesn't download them again.
Verify it yourself
Test 1: unlock with the internet switched off.
- Open this page and wait until it has fully loaded, then give it a few more seconds so the background download of qpdf can finish.
- Disconnect: turn off Wi-Fi or unplug the cable, or choose Offline in the throttling menu of your browser's DevTools Network tab.
- Add a protected PDF, type its password and download the unlocked copy. Then click Unlock another and do a second file. Both work, because qpdf is already in your browser and no server is needed.
If you disconnect too early, before the page has finished loading, the tool may not appear or may say "Could not read this file. Is it a valid PDF?" That's the engine not having reached you yet, not a blocked upload. Reconnect, reload the page and start again.
Test 2: watch the Network panel.
- Open the tool page and wait until it has fully loaded.
- Open your browser's developer tools: press F12 (Windows, Linux) or Cmd+Option+I (Mac) in Chrome, Edge or Firefox, and select the Network tab.
- Clear the list (the clear button in the Network toolbar), so only new requests appear from now on.
- Add a PDF and, if it asks, type its password, then download the unlocked copy.
- Look through the new requests. To show the Method column in Chrome or Edge, right-click a column header and tick Method. An upload would show up as a POST or PUT request with a body about as large as your file. You should find none. The page already downloaded qpdf.wasm in the background while it loaded, so unlocking usually adds no new requests to pdfwrangle.com. You may see blob: entries: that's qpdf being read from your browser's own memory, not a transfer. Neither your file nor your password is in any request.
We ran both tests on the live site in Chrome on 20 October 2026, with our own test files. While the tools worked, the browser sent no POST or PUT requests and no request with a body. The only traffic was the GET downloads described on this page.