Where WebM files come from
WebM was launched by Google in 2010 as a royalty-free video format for the web. It is built on the Matroska container and holds VP8, VP9 or AV1 video with Vorbis or Opus audio. You usually end up with a WebM file without choosing it:
- Screen recordings made in the browser, for example through extensions or web-based recorders, which use the browser's built-in MediaRecorder.
- Clips saved from websites and social platforms that stream in VP9.
- Exports from some animation, meme and game capture tools.
- Recordings from video call and voice note services.
Browsers play WebM without trouble. The problems start elsewhere: iMovie and Final Cut do not import it, Premiere needs extra steps, older iPhones will not play it in Photos, many TVs ignore it, and some messengers and upload forms reject the extension.
Why WebM is always re-encoded
Some converters can rewrap a file into MP4 in seconds when the codec is already compatible. For WebM that shortcut does not help: the whole point of converting is to get H.264, and WebM never contains H.264. Even where MP4 can technically carry VP9 or AV1, the devices that refuse WebM usually refuse those codecs too.
So the tool always decodes the WebM and encodes a new stream:
- Video: H.264 at CRF 23, standard 8-bit 4:2:0 colour, the combination with the broadest hardware support.
- Audio: Opus or Vorbis converted to AAC at 128 kbit/s.
- File layout: the index is written at the start of the MP4, so it can begin playing in a browser or messenger before it has fully downloaded.
Resolution and frame rate are unchanged. In the browser the encoder uses the ultrafast preset; the server option uses medium at the same CRF, which takes more CPU but usually produces a smaller file.
Expect the MP4 to be larger
VP9 and AV1 are newer and more efficient than H.264. For the same visual quality, H.264 needs roughly 30 to 50% more bits than VP9 and more again compared with AV1. Combined with the fast browser preset, a 40 MB WebM can easily turn into a 70 to 100 MB MP4.
There are two ways to bring that down:
- Use server processing, which compresses better at the same quality. Free use covers one job a day up to 500 MB; Premium is unlimited and accepts files up to 4 GB.
- Run the MP4 through compress video afterwards with the Light or Medium preset.
Screen recordings: specific issues
Browser screen recordings are the most common WebM source and come with their own quirks.
Missing duration and seeking
MediaRecorder writes the file while recording and often never stores the total duration. Players then show 0:00 or an ever-growing timeline, and seeking jumps around or fails. Re-encoding writes a proper index, so the MP4 has a correct duration and seeks normally. This alone is a good reason to convert recordings before sharing or editing them.
Variable frame rate
Recorders capture frames only when something changes on the screen, so a recording of a static slide may contain long gaps between frames. The conversion keeps picture and sound in sync through those gaps. If the recording begins or ends with minutes of dead time, cut it first with trim video: the conversion gets shorter and so does the file.
Transparent video
WebM with VP8 or VP9 can carry an alpha channel, used for animated stickers and overlays. H.264 has no transparency, so transparent areas become black in the MP4. If you need an animated image with transparency, keep the WebM; if you need something that plays as a short loop in chats or documents, video to GIF may suit better.
Speed and memory in the browser
Decoding VP9 and AV1 is more demanding than decoding H.264, and the whole job runs on one CPU core in WebAssembly. Rough expectations:
- A 1080p screen recording converts at about real time on a recent laptop, so a 10-minute recording takes around 10 minutes.
- Phones are several times slower and may run out of memory on files over a few hundred megabytes.
- The input and output both sit in browser memory until you download, so close other heavy tabs for large files.
In browser mode nothing is uploaded and the original WebM is left untouched. For long or high-resolution recordings, the server option avoids both the memory limit and the wait on your own device.