100% in-browser processing
How FixMyFiles works: right in your browser
Most online converters upload your file to their servers to work on it. FixMyFiles does the work inside your browser tab instead, so the file never leaves your device. Here is what happens, in plain words — and how to check it yourself.
By Suprabhat Updated How we write these
- 0 BUploaded
- 0Accounts needed
- 100%On your device
- $0No ads, no paywall
In one picture
What happens to your file
- You pick a file. The page reads it from your disk into this tab’s memory — the same thing a photo viewer does when it opens a picture.
- The tool runs here. Code the page already downloaded — your browser’s own codecs, and FFmpeg compiled to WebAssembly for the rest — works on that copy, using your device’s own processor.
- You save the result. The finished file is handed to your browser as a normal download. Close the tab and the copy in memory is gone.
Our server only sends the page and its tools. The tools have no way to send your file back to it — the counter on the cut line reads what this page has actually sent.
Side by side
The upload way vs the FixMyFiles way
The same job — say, getting a two-minute family video under WhatsApp’s 16 MB limit — done the usual way, and done here.
A typical online converter
Upload, wait, download
- Your file travels to their server. The whole video — every second of it — is sent over the internet before anything happens to it.
- It waits its turn. Your job joins everyone else’s on the service’s machines, and a busy hour or a free-tier limit slows it down.
- A copy sits on their disk. It is kept until their policy says to delete it. You have to trust that it is, and that nobody looks at it first.
- You download it back. The result comes back over the same connection, so a slow or metered line pays twice.
The file has left your hands, and the speed depends on your upload connection.
FixMyFiles
Open, fix, save — on your device
- Your file is opened in this tab. It is read from your disk into the browser’s memory, like a video player opening it. No connection is made to send it.
- Your device does the work. Your browser’s own codecs — often your graphics chip’s video encoder — or a WebAssembly engine such as FFmpeg, with no queue.
- Nothing is kept anywhere. There is no server copy to delete. The only copy is the one in this tab’s memory, gone when you close it.
- You save it straight away. The finished file is handed to your browser as a download: no round trip, however slow your connection.
The file never leaves your device, and the speed depends on your device.
Live test, not a simulation
Try it on your own device
Press the button. This page makes 10 photo-sized PNG images in memory, then converts every one to JPG — the work the Image Converter does — and times it. Nothing is sent anywhere.
Measured in this tab, on your processor
Estimate: the same files sent at 10 Mbps, before a server has started on them
The device time is measured when you press the button. The upload time is worked out from the files’ real size and a 10 Mbps upload speed — yours may be faster or slower.
Behind the curtain
What happens, step by step
No jargon: this is what the three steps look like on the screen, and what each one does with your file.
-
Add your files
Drop them in or pick them from your disk. There’s no size cap and no waiting line, because they never leave your device.
-
Pick what it becomes
Choose a format, a size limit or where it’s going. Presets for Gmail, WhatsApp and visa forms fill in the numbers for you.
-
Save it back
The result lands in your downloads and the original stays exactly where it was, because it never went anywhere.
Your files never touch a server Every step above runs in this browser tab. Watch the network log to see it.
The pipeline
- 1
Read. When you add a file, the page reads its bytes with the File API. The file stays on your disk; the tab holds a copy in memory.
- 2
Inspect. The tool checks what it’s working with: the real format, pixel size, codecs, length and sound track — what the size meter and the presets need.
- 3
Process. The engine for the job runs — in a Web Worker where the work is heavy, so the page stays responsive and Cancel always works.
- 4
Save. The result is built as a Blob in memory and offered as a normal download, one by one or as a ZIP. Closing the tab discards everything.
The engines
| Engine | What it does | Used by |
|---|---|---|
| Your browser’s codecs (WebCodecs) | Decode and encode H.264, HEVC, VP9, AV1 and AAC, usually on your graphics chip’s hardware encoder | Compress, convert, trim and resize video; audio |
| Mediabunny | Reads and writes MP4, MOV, WebM, MKV and audio files around those codecs, and copies streams without re-encoding | Video converter, trim, split, mute, extract audio |
| FFmpeg (WebAssembly) | The reference media toolkit, compiled to run in the tab, for everything the browser can’t do itself | AVI, WMV, FLV and older formats, GIF making, PSD, DDS and EXR |
| jSquash (MozJPEG, libwebp, libavif) | The same image encoders the big sites use, compiled to WebAssembly | Compress, convert and resize images |
| libheif (heic-to) | Decodes the HEIC photos iPhones take, where the browser can’t | HEIC to JPG and every image tool |
| Your browser’s image decoders | Open JPG, PNG, WebP, GIF, AVIF and SVG, and draw them on a canvas | Every image tool |
| Tesseract (WebAssembly) | Reads printed and on-screen text in pictures, with a trained model per language | Image to Text |
| UTIF.js, UPNG.js, gifenc, ImageTracer.js | Write TIFF, animated PNG and GIF, and trace pictures into SVG shapes | Image converter, GIF Maker |
Versions and licenses for each are on the licenses page.
What follows from the design
Built on four privacy principles
-
Nothing to retain
We cannot keep, look at or share your files, because they never reach us. There is no upload endpoint on the site at all.
-
Works offline
A service worker keeps the pages and engines you’ve used, so a tool you’ve opened once works with no connection at all.
Using it offline -
No accounts
No email address, no password, no card. You arrive, fix the file and leave; there is nothing to sign up for.
-
Check it yourself
Open your browser’s Network tab while a tool runs and watch: the page downloads its code, and sends none of your file.
How to check
Why a Web Worker?
JavaScript on a page runs on one thread, shared with scrolling and clicks. Encoding a batch of AVIF images or running FFmpeg over a long video can take seconds to minutes of solid computation, so that work runs in a Web Worker — a second thread — and reports progress back. The page never freezes, and the Cancel button always works.
What “0 bytes uploaded” means precisely
The page makes network requests for its own code and, the first time, for engines like FFmpeg. Those are downloads. The privacy meter in the header wraps every way the page can send data — fetch, XMLHttpRequest, sendBeacon and WebSockets — and counts the bytes that leave; requests from its background workers are reported through the service worker. For your files, it stays at 0. Check it yourself.
Ready to fix a file?
Pick a tool and watch the counter stay at zero while it works.
Questions
Which browsers does it work in?
Current Chrome, Edge, Firefox and Safari, on desktop and mobile. The tools need JavaScript and WebAssembly, which every browser from the last five years supports. The fastest video path uses WebCodecs; where a browser lacks it, the tool falls back to FFmpeg and tells you.
Why is the first run of some tools slower?
A few formats need an engine the first time: FFmpeg (a one-time 31 MB download) for older video and audio formats such as AVI, WMV and WMA, WebAssembly encoders for AVIF, WebP and MozJPEG, and the text reader and a language model (about 5 MB together) for Image to Text. After that they load from your browser’s cache, offline included.
How big a file can it handle?
As big as your device’s memory allows. A laptop handles videos of several gigabytes; phones have less room, so very long 4K footage is better done on a computer. Nothing is refused for being too big.
Can I use it for passport scans, family videos or unreleased music?
That is what it is built for: the file is never sent anywhere, so there is no copy on someone else’s server to leak or be requested. If your employer has rules about which software may open client files, those rules still apply — the difference here is that nothing leaves the device.
If nothing is uploaded, how is the site paid for?
The site is static files, and your device does the work, so it costs very little to run. There are no ads and nothing is sold; it is paid for by the person who runs it. If that ever changes, the About page will say so plainly.
Is the code open source?
The libraries doing the work all are, and the licenses page lists each one with what it does here.