OOnDevice

How a browser tab can convert a PDF without uploading it

2026-05-02

A reader wrote to us last month with a question that gets at something most websites do not bother to explain. She had used one of the tools here to turn a PDF into a stack of JPGs, the conversion finished, the JPGs landed in her downloads folder, and she sat there wondering: where exactly did that happen? Did the file go somewhere? It came back to her so fast that something had to be doing the work, and she could not picture what.

Most people who think about it for a moment guess “a server.” That is a reasonable guess. It is how almost every other free file tool on the internet works, so the assumption is well-trained. The actual answer, on this site at least, is more interesting and worth explaining in plain language. Here is what really happens.

What loaded onto your machine when you opened the tool

When you visited the tool page, your browser downloaded a few things. The page itself — the part you see, the buttons and the drop area and the text. A small JavaScript program that knows how to read PDFs. Another small program that knows how to encode images as JPGs. A few helper bits and pieces that make the user interface work. All of these arrived from our servers in the same way that a normal web page arrives, as text and images travelling over the network. None of them are unusual. Your browser handles them the same way it handles every other web page in the world.

After that initial load, the page is sitting in your browser the way a downloaded recipe card sits on a kitchen counter. It has everything it needs to do its job. It does not need to phone anyone. It does not need to send anything anywhere. It is just a page with some code attached, and that code is now ready to run when you ask it to.

Your browser also keeps a copy of the page on your computer for next time. The next visit pulls the page from that local copy rather than from our servers, which is why repeat visits feel instant. This is the same mechanism that makes any website feel faster the second time you visit it; it is not specific to our tools. The reason it matters here is that it means the conversion code is sitting on your computer, ready to run, even if the network is slow or off.

The tab is a sandbox you handed a file to

The next bit is the part most people have not thought about. A browser tab is a sandbox. It can do quite a lot, but it cannot do anything to your computer that you have not explicitly given it permission to do. It cannot read random files off your hard drive. It cannot rummage in your folders. It cannot upload anything anywhere unless the page’s code tells it to make that specific request.

When you drop a file onto the page, you are giving the tab a specific permission — permission to read that one file, just for this session. The tab takes the file and loads its bytes into memory. That memory belongs to the tab. It is not visible to the rest of your computer, it is not visible to other tabs, and it is not visible to anyone on the network. It is just the file’s contents, sitting in the tab’s workspace, where the conversion code can read it.

The conversion code reads the PDF, page by page. It uses the device’s graphics card when one is available to render each page into an image, and falls back to the regular processor when one is not. For each rendered page, it asks your browser to encode the image as a JPG, and the browser does that with the same code it would use to save any image. The JPG bytes go into a file your browser builds in memory. When all the pages are done, your browser zips them up and offers the zip to you as a download. The download you click is your own browser handing your own file back to you.

How to verify any of this yourself

You do not have to take our word for any of this. Open the developer tools in your browser; in Chrome, Firefox, Edge, or Safari you can press Cmd+Option+I on a Mac or Ctrl+Shift+I on Windows and Linux, or right-click the page and pick “Inspect.” Click the Network tab. You will see a long list of requests — that was the page loading. Now drop a file onto the tool. Watch the Network tab.

Nothing new appears. There is no upload request. There is no “your file is being sent for processing” line. The request list is exactly the same after you dropped the file as it was before. The conversion happens, the download appears, and the Network tab continues to show only the requests from the original page load.

That is the actual proof. A privacy claim that can be checked in two minutes with no special tools is a different kind of claim from a privacy claim that lives in a paragraph somewhere on a policy page. The first is something you confirmed. The second is something a company told you.

What about offline?

After your first visit, the tool’s code is in your browser’s cache. The operating system has a copy. Your browser knows where to find it. The next time you load the page, the browser checks for a quick refresh from our servers and otherwise uses what it already has. This is also how websites you visit often feel fast on return, but for a tool whose entire job is processing files, it has a side effect that is more interesting than performance.

Drop a file onto the tool with airplane mode on. It still works. Try it. Open the page once with internet, then turn the wifi off, and use the tool. You will see the conversion happen exactly as before. The download will appear in the same way. The difference, if you watch closely, is none. The tool does not need the network. It never did, after that first load.

We did not do anything clever to make this work. It is a straightforward consequence of the architecture: the work is happening in the tab, the tab is on your computer, and nothing about the conversion involves a server. Take the network away and the tool keeps working because the network was never part of the loop.

What about really big files?

The constraint with browser-based tools is your own computer’s memory, not someone else’s server capacity. A small file, say a 10-page PDF with text and a few images, is a non-event for any laptop made in the last decade. A medium file, say a 50-page report with embedded images, is fine on a recent laptop and a noticeable wait on an older one. A very large file — a 500-page scanned document with high-resolution photos on every page — can push a low-end machine to the point where the tab becomes sluggish or runs out of memory.

We cannot do anything about that, because there is no “more server capacity” to throw at it. There is no server doing the work. The trade-off you are getting in exchange for “your file never leaves the tab” is “the tab does the work with the resources your computer has.” For most files most people deal with, that is plenty. For genuinely enormous files, an upload tool will sometimes finish faster because someone else’s server has more memory than your laptop. That is the deal.

The good news is that the limit is the limit. There is no quota. There is no per-month cap. There is no “upgrade to process more pages.” Whatever your machine can handle, the tool can handle, and that handling does not get worse on the last day of the month.

The honest bit: what does load from third parties

We promised plain language, so here is the part most pages skip. Three third-party services do load on this site. Anonymous usage analytics, which records that a tool was opened and roughly when, with no IP address kept and no cookies set; you can block it with any standard ad blocker and the tools still work. Sign-in code, which only loads on pages where signing in matters, not on most tool pages. Display ads on the free tier, which fund the work and which a Pro subscription removes. None of these touch the file you dropped. The file simply does not go through us, so there is nothing for any of them to see.

We mention these because being plain about them is more trustworthy than waving a “zero tracking” banner that would not survive a Network panel inspection anyway. The promise this site makes is narrower and more specific: anonymous, blockable, and never tied to the contents of the files you process. The first two are policy choices. The third is structural — we cannot tie analytics to your file’s contents, because the contents do not reach us.

If you want to confirm what is described here, our JPG to PDF tool is a good test case. Open the developer tools, drop something into the page, and watch the Network panel stay quiet. The full list of what does load and why is on our privacy page.