How FileToaster works
The converter comes to your file, not the other way round. Here's what happens, step by step, and how to verify it yourself.
The short version
When you open a FileToaster page, your browser downloads the page and, when you need it, the converter code. Your files are then converted on your own device, inside the browser. The finished files are created in your browser’s memory and saved straight to your device. Your file data is never sent to FileToaster or anyone else.
Step by step
1. The page loads
Your browser downloads the HTML, styles and scripts for the page from our hosting provider’s network (Cloudflare), like any website. The page may also load ads and a cookieless analytics script. None of this involves your files; you haven’t chosen any yet.
2. You choose files
When you click the button, drop files onto the box or paste them, the browser gives the page read access to just those files. That’s the same File API that lets websites show a preview of a photo before you post it. The files are read from your disk into the browser’s memory. They are not transmitted.
FileToaster then checks what each file really is by looking at its first bytes, not just its name. If you drop a PNG on a page meant for HEIC photos, it tells you and points you to the right tool.
3. The converter code loads
Each kind of conversion has its own converter module. It’s downloaded only when needed, so you don’t fetch a PDF engine to convert a photo. Converters use:
- Your browser’s built-in decoders where they’re good enough, for example for JPG, PNG and WebP images, drawn and re-encoded with the Canvas API.
- WebAssembly for formats browsers don’t handle natively. WebAssembly is a fast, sandboxed code format that runs inside the browser. It powers things like HEIC decoding, MP3 encoding and opening RAR and 7z archives. These are built on established open-source libraries such as libheif, pdf.js, pdf-lib and libarchive.
Heavy work runs in Web Workers: background threads that keep the page responsive while a big file converts. Several files can convert in parallel, depending on how many processor cores your device has.
4. You click Convert
Nothing happens to your files until you click Convert. The converter reads the file from memory, does its work on your device’s processor, and produces the result as a blob: a chunk of data held in the browser’s memory.
5. You download the result
The Download button hands that blob to your browser’s own download system using a local blob: link. That link points into your browser’s memory, not to a web address. If you download several files at once, the ZIP is also put together in your browser.
At no point is your file, or the converted result, sent over the network.
What does use the network
To be precise about the claim: FileToaster does make network requests, just not with your files. They are:
- The site itself: pages, styles, scripts, icons and fonts.
- Converter code: the JavaScript and WebAssembly modules from step 3.
- Ads: Google AdSense loads ads into labeled spaces. See the privacy policy and cookie page.
- Analytics: Cloudflare Web Analytics counts page views in aggregate. It uses no cookies and doesn’t fingerprint you.
How to check for yourself
You don’t have to take our word for it. Your browser can show you every request a page makes.
Watch the Network panel
- Open a converter page, for example HEIC to JPG, on a desktop computer.
- Open your browser’s developer tools: press F12, or Ctrl+Shift+I on Windows and Linux, or Cmd+Option+I on a Mac. In Safari, first turn on “Show features for web developers” in Settings → Advanced.
- Click the Network tab. Click the clear button (a crossed-out circle or a trash icon) to empty the list.
- Add a file and click Convert.
- Look at the new requests. You’ll see the converter code being downloaded (
.jsand.wasmfiles) the first time you convert, and possibly ad or analytics requests. You won’t see your file going out: there’s no upload request whose size matches your file. Sort by the Size column, or filter forPOSTrequests, to make it obvious.
Turn off your internet connection
- Open a converter page and convert one file. This makes sure the converter code has downloaded.
- Turn off Wi-Fi, or switch on airplane mode.
- Add another file and click Convert. It still converts and downloads, with no connection at all.
This works because everything needed is already in your browser. One caveat: the converter code has to load first. If you reload the page while offline, the page itself can’t load, just like any other website.
Why build it this way?
Uploading means trusting a server with your files, waiting for them to transfer and waiting again to download the result. Processing locally avoids all three: your files stay private, there’s no upload time, and there’s no reason to set file-size quotas or daily limits.
The trade-off is that your device does the work. A recent phone or computer handles typical photos, PDFs and songs easily. Very large files, such as long videos, are limited by your device’s memory, and older phones are slower.
Have a question about how this works? Get in touch.