Module 3: Photo details and privacyLesson 14 of 255 min read
How in-browser file tools keep your files private
Most online converters work by uploading your file to a server, processing it there and sending a result back. A growing number of tools do the same job inside the browser instead, so the file never leaves your device. That sounds like a promise you have to take on trust, but it isn't: the way browsers work makes it possible to check. This guide explains the three steps such a tool takes, how to test one yourself, and what it can't protect you from.
Step 1: the browser reads the file you choose
Web pages can't look around your disk. The File API, the part of the browser that handles files, only gives a page access to files the user makes available: through a file picker, or by dragging and dropping them onto the page. The page then reads the contents of that file into the device's memory.
Reading is not uploading. Up to this point nothing has been sent anywhere; the data sits in the browser tab, the same way a photo you open in an app sits in that app.
Step 2: the work runs on your device
Compressing a JPEG or building a PDF needs serious code. Browsers can run WebAssembly, a low-level format that MDN describes as bringing near-native performance to the web. It serves as a compilation target for languages such as C, C++ and Rust, so proven image libraries can run directly in the browser alongside JavaScript.
That is how our tools work: MozJPEG for JPG, OxiPNG for PNG, libwebp for WebP and libavif for AVIF all run in background workers inside your browser tab. PDFs are handled with pdf-lib and PDF.js, which are also code that runs on the device. The speed you see depends on your phone or computer, not on a server queue.
Step 3: the result is saved from memory
When the work is done, the new file exists only in the tab's memory. The page turns it into a link with URL.createObjectURL, which creates a blob URL pointing to that data. Pressing Download saves it from there to your device. The address of such a link starts with blob: and refers to memory in your own browser, not to a server.
How to check it yourself
Two simple tests, from easy to thorough.
The airplane mode test: open the tool page and let it load fully. Switch on airplane mode or disconnect from Wi-Fi. Now process a file. If it still works, the file can't have been sent anywhere, because there was no connection to send it over.
The Network panel test, on a computer: in Chrome, press Control+Shift+J on Windows or Linux, or Command+Option+J on a Mac, then click the Network tab. Other desktop browsers have a similar panel. DevTools only logs activity while it's open, so open it first, then process a file and watch the list.
Reading the Network list
Each row is one request, with columns such as Status, Type and Size. When you process a 5 MB photo on an upload-based site, you'd expect a request of about that size going out at that moment. On an in-browser tool, no such request appears.
What the page still loads, and what that means
An in-browser tool is still a website. Opening it downloads its own code: the HTML, scripts, WebAssembly files and fonts. Pages that show ads or count visits also load those services, and they learn that someone visited the page, as on any website. None of that carries the contents of your file.
Once a page has been opened, ours keeps a copy so it works offline, which is why the airplane mode test works even on the second visit.
How this differs from upload-based converters
With an upload-based converter, your file travels to someone else's computer. What happens next, how long it's kept, who can access it and whether it is logged, depends on that company's systems and policies, which you can't inspect. For a holiday photo that may not matter. For a passport scan, a contract or medical letter, it's a reasonable thing to avoid.
The honest limits
A website can only control what happens inside its own page. A browser extension with permission to read the pages you visit can see what the page sees, and malware on the device can see anything. Neither is something any website can prevent. Downloads also land in your normal downloads folder, so on a shared computer, delete them when you're done.
Open the image compressor, switch on airplane mode and compress a photo to see the test for yourself.
Compress an imageQuick check
Three questions. Pick an answer to see why.
You load an in-browser tool, switch on airplane mode and it still converts your file. What does that show?
Show the answer
Answer: The file wasn't sent anywhere, because there was no connection With no network, the work can only have happened on the device.
What does URL.createObjectURL do in such a tool?
Show the answer
Answer: Creates a blob: link pointing to the finished file in the browser's memory Download then saves that data straight to your device.
Which of these can an in-browser tool NOT protect you from?
Show the answer
Answer: A browser extension that is allowed to read the pages you visit Extensions run outside the page's control, so no website can stop them.
Rules change
File formats and official photo rules change. Each guide shows the date it was last checked; for forms and official photos, the authority's own page has the final word.
Sources
- MDN Web Docs – WebAssembly
- MDN Web Docs – URL: createObjectURL() static method
- MDN Web Docs – File API
- Chrome for Developers – Inspect network activity
Last checked October 27, 2026