File Converter — Private, In-Browser
LiveA file converter where every conversion runs in your browser with WebAssembly. The file you pick never leaves your device: there's no upload, no server-side processing and nothing to log — because there's no server to upload to.
Each conversion has its own page (/convert/png-to-jpg, /convert/heic-to-jpg…), in English and Spanish, and most pairs work in both directions.
What it converts
- Images — PNG, JPG and WebP in every direction, plus HEIC (decode-only, on purpose).
- Data — CSV, JSON, YAML and XML between each other.
- PDF — images to PDF and PDF to images, plus merge, split, rotate and compress.
- Audio and video — MP3, WAV, M4A, FLAC, OGG, MOV, MP4, WebM and GIF.
Decisions worth mentioning
- HEIC with libheif-js instead of heic2any: heic2any needs 'unsafe-eval' in the CSP; libheif-js only needs 'wasm-unsafe-eval', so the strict policy stays intact. Its ~1.4 MB decoder only loads on the HEIC pages.
- PDF tools are their own kind of operation (many files in, one out) instead of being forced into the from → to model.
- Audio and video use single-threaded FFmpeg.wasm; its ~32 MB core is served from my own storage and only downloads the first time you convert audio or video.