Understand SwissKnife
Actual limitations
What SwissKnife converts, rejects, queues or cannot encode.
This page describes verified product behavior, not a roadmap.
Rejected file types
A file that is neither an image, audio nor video never enters the queue. A banner identifies it. PDFs, text files and archives are not converted.
Images
| Area | Verified behavior |
|---|---|
| Outputs | JPG, PNG and WEBP only |
| TIFF / BMP | accepted as input only when the browser can decode them |
| TIFF / BMP output | not offered because Canvas cannot encode them reliably |
| Parallelism | several images can be converted at the same time |
| JPG | white background is painted first, so transparency is lost |
Audio and video
| Area | Verified behavior |
|---|---|
| Engine | one FFmpeg WASM instance with a sequential queue |
| Core | served by the application under /ffmpeg/, not by unpkg |
| First media job | downloads the core (about 32 MB of WASM) |
| GIF | always FFmpeg, never Canvas |
| M4A | recognized as audio input, not offered as output |
| Codecs | those included in @ffmpeg/core@0.12.6, currently including libx264 and libmp3lame |
A recognized file can still fail because of its contents, such as a missing codec, corrupt stream or exhausted browser memory.
File size
There is no artificial limit. From 50 MB, SwissKnife displays a warning because the tab can run out of memory. This is not a server limit.
What SwissKnife does not do
- upload files to a backend;
- expose trimming, merging, subtitles or advanced filters in the interface;
- run FFmpeg fully offline before the core has been loaded once from the application's origin;
- provide authentication or multi-user access.
See also Formats and FFmpeg WASM.