The conversion lifecycle
- Select: the browser gives the page a
Fileobject only after you choose or drop a file. - Read: a browser decoder or bundled library reads bytes into memory.
- Transform: Canvas, pdf-lib, Web Audio, MediaRecorder, a JavaScript encoder, or FFmpeg WebAssembly performs the requested work.
- Download: the output is wrapped in a browser
Bloband exposed through a temporaryblob:URL. - Clean up: output URLs are revoked when results are removed or cleared. FFmpeg input and output files are deleted from its virtual filesystem after processing. Closing the tab releases the session.
No file upload path
The application conversion code contains no fetch, XMLHttpRequest, WebSocket, or upload endpoint. Site assets and advertising can make ordinary network requests, but the converter does not attach the selected File or its byte buffer to them. You can confirm this in the browser's Network developer tools while converting.
Four different engines
Images
Browser image decoding and Canvas handle common formats. QOI is different: day2dayfile contains its own QOI encoder and decoder. Canvas re-encoding generally strips non-pixel metadata.
A bundled copy of pdf-lib is loaded on first use. It copies existing PDF pages into new merge or split outputs. It does not implement PDF image compression.
Audio
The browser's OfflineAudioContext decodes inputs to PCM. WAV is written directly, MP3 uses lamejs, FLAC uses libflac, supported OGG/WebM outputs use MediaRecorder, and M4A uses FFmpeg WASM.
Video
WebM can use Canvas and MediaRecorder. MP4, MOV, MKV, and M4V use a 32 MB FFmpeg WebAssembly core stored with the site. This is real FFmpeg running in the browser sandbox, not a native executable.
Why memory is the real limit
Compressed file size is not working-memory size. A decoded 1920 × 1080 RGBA frame is about 8 MB by itself. Audio expands to uncompressed sample arrays. FFmpeg can hold source and destination files alongside decoder and encoder state. The website's 30 MB input check is a conservative product limit; it is not a guarantee that every 30 MB file will succeed. The offline package removes that check but cannot remove browser or device limits.
What makes this different
The privacy distinction is architectural rather than a promise to delete server copies later: there is no conversion server copy to delete. The trade-off is that the user's device does the CPU and memory work, format support can differ by browser, and native desktop applications remain better for very large or complex media.