The short version
A normal online converter is a server with a web page in front: you upload your file, their machine converts it, you download the result. Your file — your photo, your contract font, your customer CSV — sits on someone else's computer for however long their retention policy says.
These tools skip the server. Modern browsers can run near-native code through WebAssembly (WASM), decode and encode images through the canvas API, and read files through the File API — so the entire conversion runs inside the browser tab you're looking at. The "download" at the end is just your browser saving bytes it already has in memory.
How to verify it yourself
- Open your browser's developer tools (F12) and switch to the Network tab.
- Load any converter page, then drop a file in and convert it.
- Watch the request list: after the page's own assets load, converting produces zero network requests. You can even switch to airplane mode after the page loads — conversion keeps working.
What powers each converter
| Conversion | Technology |
|---|---|
| HEIC → JPG/PNG/WebP | libheif 1.22 (the industry-standard HEIF decoder) as WebAssembly running in a background worker with a hard timeout, then canvas encoding |
| WebP / PNG / JPG / SVG | Your browser's own decoders and the canvas API — the same code that renders web pages |
| Subtitles (SRT/VTT/ASS/SMI) | Pure JavaScript parsers with automatic encoding detection (UTF-8, UTF-16, legacy EUC-KR) |
| CSV ↔ JSON | An RFC 4180 state-machine parser in JavaScript with conservative type coercion |
| TTF/OTF → WOFF | A spec-exact WOFF 1.0 writer using the browser's built-in zlib (CompressionStream) |
| TTF/OTF → WOFF2 | Google's reference woff2 encoder compiled to WebAssembly |
What this architecture means for you
- Privacy — files never leave your device, so there is nothing for anyone to store, scan, leak or train on.
- No limits — there's no server bill to protect, so there are no file-size caps, daily quotas or accounts.
- Speed — no upload/download round-trip; a 5 MB photo converts faster than it would even start uploading.
- The honest trade-off — the work happens on your hardware. A 100 MB file on an old phone will be slower than on a desktop, and very large batches are processed one file at a time to keep memory stable.
Open source credits
The heavy lifting rests on excellent open-source projects, shipped here as unmodified library files (license texts are included alongside each in /tools/assets/vendor/):
- libheif 1.22 — HEIF/HEIC decoding (LGPL-3.0), via the heic-to WebAssembly build (LGPL-3.0)
- google/woff2 — WOFF2 encoding (MIT), via the wawoff2 WebAssembly build
- IBM Plex fonts (OFL-1.1) — self-hosted, so no font request goes to any third party
- Everything else — subtitle, CSV/JSON and WOFF converters — is original code written for this site.