SwissKnife Docs
Understand SwissKnife

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

  1. Images use the Canvas API. JPG, PNG and WEBP outputs are available, and several images can be processed in parallel.
  2. 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.

On this page