Convert video and audio without uploading a thing. A complete FFmpeg build compiled to WebAssembly runs inside this page, so files that would take twenty minutes to upload to a conversion service start processing immediately.
Convert
Convert video and audio — MP4, WebM, MOV, MP3, WAV, OGG, FLAC
Select one or more files, choose an output format, and adjust quality if needed. The first conversion downloads the FFmpeg engine (around 25MB), which is then cached for subsequent runs.
🎬
Drop your video/audio files here or click to select
💡 Supports batch conversion with progress tracking
⚠️ Large files detected. Each file is limited to 2GB by browser memory. Processing will be slow.
Video/audio quality settings
23
Lower values mean higher quality and larger files.
Loading FFmpeg…
✅ Conversion complete
Containers and codecs are not the same thing
The single most common source of confusion when converting video.
A .mp4 file is a container — a box holding one or more streams. The
codec is how the video inside those streams is actually encoded. Two files both named
.mp4 can hold H.264, H.265 or AV1 video, and a player that handles one may refuse another.
MP4 + H.264 — The safe choice. Plays essentially everywhere: browsers, phones, TVs, editing software. Pick this when compatibility matters more than file size.
WebM + VP8/VP9 — Open and royalty-free, well supported in browsers, smaller than H.264 at matching quality. Weaker support in native and mobile apps.
MOV — Apple's container. Structurally close to MP4 and often holding the same codecs; mainly relevant for footage from Apple devices and Final Cut workflows.
What CRF actually controls
The quality slider sets CRF — Constant Rate Factor. Rather than targeting a fixed bitrate,
it targets a constant level of visual quality and lets the bitrate move: complex scenes get more bits, static
ones get fewer. It is the right way to encode when you do not need to hit an exact file size.
Lower means better quality and larger files. The scale is not linear, and the useful range is narrow:
CRF 18 — Near-transparent; most people cannot distinguish it from the source. Large files.
CRF 23 — The default, and a sound one. Good quality at a reasonable size.
CRF 28 — Noticeably softer, meaningfully smaller. Fine for previews or where bandwidth dominates.
CRF 32+ — Clear artefacts in motion. Only for the smallest possible file.
A change of roughly 6 in CRF halves or doubles the file size. Going from 23 to 29 cuts size by about half.
Resolution has a larger effect than CRF for most footage. Halving the dimensions removes three quarters of
the pixels, and 1080p is more than enough for most viewing.
Honest limits of converting video in a browser
Running FFmpeg through WebAssembly is a genuine capability, but it is not free:
It is slower than native FFmpeg. Expect several times slower. A long video is a long wait, and the tab must stay open.
2GB per file is a hard ceiling. Browser memory limits, not a policy we chose. Larger files cannot be processed.
The engine is about 25MB on first use. Downloaded once and cached; audio-only conversions still need it.
No hardware acceleration. Encoding runs on the CPU, which is the main reason for the speed difference.
For occasional conversions, clips, and anything confidential enough that uploading is not acceptable, the
trade is worth it. For batch-processing hours of footage, install FFmpeg natively.
Audio-only conversions are much faster than video, since there is no picture to re-encode. Converting a
video to MP3 to extract its soundtrack is quick even for long files.
Video conversion questions
Because the work happens on your machine rather than on a server farm, and WebAssembly runs several times slower than native code with no access to hardware video encoders. What you get in exchange is that the file is never uploaded — for anything confidential that is the entire point. You also skip the upload wait, so for large files over a slow connection the total time can still come out ahead.
Not here. The limit comes from how much a browser tab can hold in memory, not from a policy. Files above roughly 2GB cannot be read in fully. For anything that large, native FFmpeg is the right tool.
Select the video and choose MP3, WAV, OGG or FLAC as the output format. The video stream is discarded and only audio is written. This is much faster than a video conversion because nothing has to be re-encoded visually. Pick FLAC or WAV to avoid a second lossy encode, or MP3 for a small, universally playable file.
Yes — that is the FFmpeg WebAssembly build. It is fetched on first use and then cached by the browser, so subsequent conversions start immediately. It is the only substantial download on the site, and it is the reason video conversion can happen without a server.
Any re-encode loses some quality, because the source is decoded and compressed again. At CRF 18–23 the loss is hard to see. What you should avoid is repeatedly converting the same file — each pass compounds the previous one. Convert from the original whenever you can rather than from an already-converted copy.