How in-browser compression works
SelfKit is a website that behaves like an app installed on your device. Here is what happens to your video.
Your file never leaves your device
When you choose a video, the browser reads it locally. The compression code is downloaded once, like any web page, and then runs on your processor.
There is no upload step and no server that receives files. That is why it also works offline.
How we hit the size exactly
File size is bitrate multiplied by duration. From the limit and the length of your video we calculate the bitrate, keep a small safety margin and split it between picture and sound.
Example: a 60-second video for a 10 MB limit gets about 1,280 kbit/s in total — enough for sharp 720p. After encoding we check the real size, and if it is over the limit we encode again with a slightly lower bitrate.
Hardware acceleration
Modern browsers expose the video encoder built into your device through WebCodecs — the same chip your phone uses to record video. That makes compression many times faster than software encoding.
If your browser lacks it, or the file uses an old format, SelfKit switches to a compatibility engine (ffmpeg.wasm). It is slower but reads almost anything.
Works offline
After the first visit the page and the compression engine are stored by your browser. Turn on airplane mode, reload the page and compress a video — it works.
Limitations
Everything happens in your device’s memory, so very large files on older phones may not fit. Long videos take longer on slow devices.
Browser support
| Browser | Fast mode | Compatibility mode |
|---|---|---|
| Chrome / Edge (desktop, Android) | Yes | Yes |
| Safari (macOS, iOS) | Depends on version | Yes |
| Firefox (desktop) | Depends on version | Yes |
| Samsung Internet | Depends on version | Yes |
Support depends on the browser version and the device. If the fast mode is not available, compatibility mode is used automatically.