ActuallyOPClipsFree

How it works

What these pages do with your file, what they can't do, and whose code they use.

Your files

When you pick a file, your browser hands the page a way to read it from your disk. Decoding and encoding happen on your machine through WebCodecs, a browser feature. Results are held in memory, or in the browser's private disk storage for very long jobs, until you save them. There is no upload code in these pages.

What the browser enforces

Every page is sent with a Content Security Policy. It tells your browser to refuse network connections to any other site. The page can only talk to actuallyop.com, and it does that for two things: loading its own files, and checking a Pro key if you have one. The key check sends your key. It doesn't send file names, file contents or anything about your clips.

Same-site requests are allowed because the key check needs them, so the policy alone doesn't prove nothing goes to our own server. You can check that yourself: open your browser's developer tools, go to the Network tab and run a job. Or load the page, turn off your Wi-Fi and run it offline.

What we don't see

No analytics on these pages. No ads. We don't get your file names, and we have no copy of your clip to lose. The hosting provider logs page requests as all web hosts do.

Works on

Built and tested on current Chrome on Windows. Edge uses the same engine. Firefox 130 or newer on desktop and recent Safari should work, but we haven't run them yet, so tell us at hello@actuallyop.com if something breaks. Tools check for what they need and say so if your browser can't do it. The thumbnail resizer and mod list formatter work without WebCodecs when you use images and text.

Your browser decides which video formats it can read. H.264 works everywhere. HEVC, which some phones and consoles record, depends on your device.

Pro checks

Pro limits are checked in your browser. Anyone who edits the page can get around them. We're fine with that: Pro is for people who want to pay for the work.

Open source inside

ProjectUsed forLicence
MediabunnyReading, writing and converting videoMPL-2.0
@mediabunny/mp3-encoderMP3 outputMPL-2.0
LAMEMP3 encoder inside the extension aboveLGPL
@mediabunny/aac-encoderAAC audio in browsers without their own encoderMPL-2.0
FFmpeg AAC encoderInside the extension above. Built with no GPL partsLGPL-2.1
gifencGIF outputMIT
Dela Gothic One, Big Shoulders Display, Atkinson HyperlegibleFontsOFL-1.1

Mediabunny and its encoder extensions are used unmodified, and their source is at github.com/Vanilagy/mediabunny. The LAME and FFmpeg builds are compiled inside those extensions, which keep the build steps in their READMEs. Those two load as separate files, so you can swap them for your own build. LAME asks for a mention, and here it is.