About SwissKnife
What SwissKnife does, who it is for and what it is not designed to replace.
SwissKnife is a multilingual static web application. It converts audio, video and image files inside the browser, with no account, backend or upload of user media.
Who is SwissKnife for?
- Anyone who wants to change a file format without uploading it to a remote service.
- Homelab owners who want a Docker-ready converter with no data volume.
- Developers looking for a Vite SPA with FFmpeg WASM served from the same origin.
SwissKnife is not a video editor, a server-side transcoder or a media library manager. There are no accounts, remote queues or retained files after the tab closes.
Two conversion engines
- Images use the Canvas API. JPG, PNG and WEBP outputs are available, and several images can be processed in parallel.
- Audio and video use one FFmpeg WASM engine. It processes one conversion at a time while the others wait.
GIF is always treated as video and processed with FFmpeg, even when the browser reports image/gif.
Where does the data stay?
Inside the tab, as File objects and blob: URLs. SwissKnife uses no application cookie, no local media storage and no remote conversion API. Closing the tab releases the blobs; the browser displays a navigation warning while files remain in the queue.
Open-source product
SwissKnife is released under the MIT License on GitHub. The official Docker image is ghcr.io/lucas-lepajollec/swissknife. FFmpeg WASM has separate licensing obligations; see FFmpeg WASM.