How your files stay on your device
Your files never leave your device — processing happens in your browser. This page explains why that is true structurally rather than as a promise, and how to check it yourself.
Check it yourself, in two minutes
- Open any tool on this site and press F12 to open developer tools.
- Switch to the Network tab.
- Tick Preserve log (Chrome and Edge) or Persist logs (Firefox), so nothing is hidden.
- Convert, compress or resize a file — the biggest one you have.
- Watch the list of requests.
You will see the page, its scripts and styles, and possibly a WebAssembly codec. You will not see a request the size of your file, because none is made. Sorting the list by size makes this obvious at a glance.
The stronger test: once the page has loaded, set the Network tab to Offline and process another file of the same type. It still works. A tool that uploads your file cannot do that.
Why it cannot upload, even by accident
There is nowhere to upload to
This site has no server-side code. No API routes, no database, no storage. It is a set of static files served from a CDN — the same files for everyone. There is no endpoint that could receive an image because there is nothing running that could listen for one.
The processing code never touches the network
Your file is read into memory, handed to a background thread inside the same browser tab, processed there, and handed back. The code that does this contains no way to send data anywhere. Downloading your result is your browser writing memory it already holds to your own disk — not a transfer.
The analytics cannot carry a file even if someone tried
Every analytics event is typed, and the values an event can carry are restricted to plain text, numbers and true/false. There is no shape in which an image or a filename could be attached to one. What is recorded is which tool was used, a format such as image/heic, and a coarse size bucket such as 1-10MB. Sizes are deliberately coarse: an exact byte count is close to a fingerprint of a specific file.
And none of it runs at all unless you opt in.
What does get downloaded
Being precise about this matters, because seeing an unexpected request would reasonably worry you.
- The page, its JavaScript and its CSS.
- A WebAssembly codec, the first time you open a HEIC file or write an AVIF — browsers cannot do either on their own.
- The background-removal model, the first time you use that tool. It runs on your device, so it has to get to your device.
- Analytics and advertising, only if you have granted them.
Every one of these is a download: code coming to you. Each is the identical file for every visitor, served from this site rather than a third-party CDN, and none carries any information about you or your images. All are cached, so they happen once per device.
The honest trade-offs
Working on your device is not free of downsides, and claiming otherwise would undermine the point of this page.
- Your device’s memory is the real limit. A decoded image needs roughly width × height × 4 bytes no matter how small the file is on disk, so a very high-resolution photo can exhaust a phone. When that happens we say so in those terms, because it is the truth — not a cap we imposed to sell you something.
- Large files are slower on weak hardware. A server farm would be faster for a 100-megapixel image.
- Background removal is slower and rougher than a hosted service running a large model on a GPU. The model here has to be small enough to download.
If you want the technical detail, the privacy policy covers what is collected and how to withdraw consent.