WebM to MP4
In your browser, no upload
MP4
VP8 · VP9 → H.264 · re-encoded
Video
WebM → MP4Specification
7 rows| Item | Value | Notes |
|---|---|---|
| Input | WebM | Or any video FFmpeg reads |
| Output | MP4, H.264 + AAC | Plays on phones, browsers and editors |
| Picture | Re-encoded as H.264 | x264, veryfast preset, CRF 23 |
| Sound | AAC | Copied when it is already AAC or MP3, else AAC 128 kbps |
| Time | Measured before it starts | A 2-second test encode on this device |
| Engine | This browser’s own encoder, or FFmpeg (16.8 MB) | FFmpeg is downloaded only when the browser cannot do the job, and only when you press the button that says so |
| Processed in | This browser | Not sent to a server |
What happens
5What happens, and why
WebM is the open web’s video format: VP8 or VP9 picture and Vorbis or Opus sound, in a Matroska container. Browsers play it, and a screen recorder or a site’s download button often hands one over — but the Photos app on an iPhone, many video editors, and a lot of messaging apps do not open it. MP4 with H.264 picture and AAC sound plays nearly everywhere, and that is what this page makes.
There is no way to get there without re-encoding. The programs that refuse WebM do not play VP8 or VP9 inside an MP4 either, so every frame is decoded and encoded again as H.264, and the badge says so. The sound is re-encoded as AAC at 128 kbps, since Opus and Vorbis are the other thing those programs do not play.
First the page asks the browser itself. Browsers carry the video encoders they use for calls and screen recording — H.264, VP9, AAC, Opus, often on the graphics chip — and when this browser can read your file and write the result with them, that is what happens: nothing is downloaded, the time is measured here first, and the line under the badge says the browser’s encoder did the work. MP4, MOV, WebM and MKV files usually qualify. AVI, WMV and FLV do not, and neither does an MP3, so those go the way below.
The work is done by FFmpeg, the program most video software is built on, compiled to WebAssembly so that it runs inside this page. It is large — 16.8 MB — and it is not downloaded until you press the button that says so. Then it reads your file, encodes 2 seconds from the middle of it as a test, and tells you how long the whole file will take on this device, before anything starts. That figure is measured here rather than taken from a table: the same engine and settings, your processor, your video. It is still an estimate, and it is labelled as one.
It is slower than a program installed on a computer. Here FFmpeg runs on one processor core, because a browser only lets a page use more when the site is served with particular security headers, and it cannot use the graphics chip’s video encoder at all. A long high-resolution video can take many minutes, and longer on a phone. The estimate says so before you commit to it, the progress line shows the time left as it goes, and Cancel stops it at once. When the browser’s own encoder can do the job, it is far quicker, and nothing is downloaded.
FAQ
4Does it lose quality
A little, as any re-encode does, and the badge says so. The picture is encoded with x264 at CRF 23, a constant-quality setting that spends bits where the picture needs them; at normal viewing most people cannot tell it from the source. What is lost is not recovered by converting back.
Why does it take so long
Every frame is decoded and encoded again, on one core of your processor, inside the browser. Installed programs use every core and usually the graphics chip’s encoder; a web page gets neither by default. The page measures how long it will be on your device before you start, so the wait is never a surprise.
What if my phone runs out of memory
The page stops and says so, rather than handing back half a file. The video you drop is read from disk in pieces, never copied whole into memory, but the new file is built in memory until it is finished, so a long, high-resolution video can be too much for a phone. A shorter clip, a smaller size, or a computer will get through.
Is the video uploaded
No. The engine is downloaded to your browser, and your file is read and written there. There is no upload endpoint on this site, so there is nowhere for the video to go.