Skip to content
Jason Jara
Go back

Why Image to WebP never uploads your files

Edit page

Table of contents

Open Table of contents

A habit that’s easy to fall into

Converting images to WebP comes up a lot in agency work. WebP files are smaller than JPEG or PNG, so pages load faster, and most clients want that without thinking too hard about how it happens.

The quick fix is a free online converter. Search for one, drag in a file, download the result. It works, and most people never ask what happened in between.

What happened in between is usually an upload. The file leaves your machine, sits on someone else’s server long enough to be processed, and comes back converted. For a personal holiday photo, that’s a minor shrug. For client assets — logos, product shots, unreleased creative — sending them to a third party you’ve never vetted is a habit worth breaking.

How most converters actually work

Almost every free converter online follows the same pattern: you upload a file, a server does the conversion, and you download the result. It’s the easiest way to build a tool like this, because the server has full control over the image libraries doing the work.

It’s also the reason these tools need an upload step at all. The browser on its own was never really trusted to do image processing, so the server became the default place to put that logic. Nobody set out to build something privacy-unfriendly — it’s just where the path of least resistance leads.

Tip

If you’re ever unsure whether a converter uploads your files, check your browser’s network tab while converting. A request carrying your image data to a remote host is the tell.

Making “no upload” the point, not a detail

Image to WebP does the conversion differently: entirely in the browser, with no server in the loop at all. Drop in a batch of JPEGs or PNGs, and the app draws each one onto a canvas and exports it with canvas.toBlob(). JSZip bundles the results into a single zip, also client-side, ready to download.

The interesting part isn’t really the API calls. It’s the decision behind them. Once there’s no upload step, there’s nowhere for the files to go but back to you — privacy stops being a policy someone has to remember to follow and becomes a property of how the tool is built. That’s worth treating as a design decision in its own right, not a side effect of picking a simpler architecture.

For agency work in particular, that matters more than it sounds. Client assets staying on the client’s own machine, end to end, is one less thing to explain and one less thing to get wrong.

Try it yourself

The full write-up, including the stack it’s built on, is on the Image to WebP project page. It’s a small tool, but it’s one I reach for whenever “just convert this” turns into “and don’t send it anywhere.”


Edit page
Share this post:

Next Post
Shipping an app as a single HTML file