Privacy

Why a file tool should never upload your file

Most online file utilities upload to a server for no technical reason. The File API has been able to do this work locally for over a decade.

Files Corrupter ·

Why a file tool should never upload your file

Search for almost any file utility, whether a converter, a compressor, a corrupter or a metadata stripper, and you will find tools that ask you to upload the file to a server. For most of them there is no technical reason left.

What the browser can already do

The pieces have been widely supported for years. The File API reads a local file into memory without a network round trip. Blob.slice() reads it in pieces, so a 4 GB video does not have to fit in memory at once. Typed arrays give direct byte access. Web Crypto provides cryptographically secure randomness and hashing. URL.createObjectURL() hands the result back as a download.

That is the entire pipeline for a byte-level tool, with no server involved.

Why uploads persist anyway

Some of it is genuine. Video transcoding, OCR, anything needing a large model or a real toolchain has to run somewhere else.

Most of it is not. It is easier to write one implementation in Python than to learn the browser APIs, and a server round trip gives you analytics and an opportunity to show an ad while the user waits. The cost of that convenience is borne entirely by the user, who now has to trust that the file is deleted afterwards, that the retention policy matches the privacy page, that the connection and the storage are secure, and that the operator will not be breached.

For a holiday photo, fine. For a contract, an identity document, an unreleased build or a patient record, those are not reasonable things to ask.

The practical difference

A local tool has properties a hosted one cannot match.

It works offline. Load the page, disconnect, keep working. That is also the easiest way to verify the claim.

There is no size limit beyond your own memory. Hosted tools cap uploads because bandwidth and storage cost money. A 10 MB limit is a business constraint dressed as a technical one.

It is instant. No upload, no queue, no download. For a 500 MB file that is the difference between minutes and milliseconds.

There is nothing to breach. The strongest privacy guarantee is not a good policy, it is an architecture where the data never arrives.

How to check a claim

Do not take “we do not store your files” at face value. It is easy to verify. Open the browser’s network tab before using the tool, process a file, then look for an outbound request carrying it. Sort by size, because an upload is hard to hide in a list sorted by payload.

Or just turn off your connection and try. A tool that keeps working was never sending anything.

That check takes fifteen seconds and works on any site, including this one, and the corrupter on this site is built so that it passes.

There is a second reason to prefer local processing that has nothing to do with privacy: you can hand a tool a deliberately malformed file without wondering what a stranger’s server will do with it. That matters when the file is a fixture for validating file uploads properly or a seed for a fuzzing harness.