By Updated

Video Format Converter

Convert mp4, webm, mkv, and mov videos to any of those targets: fully in your browser via ffmpeg.wasm. Pick the container; we auto-pair the right H.264 / VP9 / passthrough codec for maximum playback compatibility.

Interactive tool

ffmpeg.wasm engine loads on first run (~32 MB)

The engine is cached for the rest of your session. Every transcode runs entirely in your browser: files never leave your device.

Threading: detecting…

Drop a video here

Up to 250 MB / 5 minutes. The file never leaves your browser.

What is the Video Format Converter?

A free, in-browser tool that converts video between mp4, webm, mkv, and mov: using ffmpeg.wasm. We auto-pair the right codec for each container: H.264 + AAC for mp4 / mov / mkv, VP9 + Opus for webm. Your file never leaves your device.

How to Use the Video Format Converter

  1. 1Drop a video file (mp4, webm, mkv, mov, avi)
  2. 2Pick the target container
  3. 3Optionally cap the output height
  4. 4Click Convert: ffmpeg.wasm loads on first run, then is cached
  5. 5Preview and download the converted file
What you get

Key features

Four target containers

mp4, webm, mkv, mov: each with a sensible default codec pair

Smart codec auto-pairing

H.264 + AAC for mp4 / mov / mkv; VP9 + Opus for webm: the most compatible choice per format

Audio passthrough

Keep the original audio stream untouched when the source codec is compatible

Optional resolution clamp

Cap the output height to skip extra megabytes of unused resolution

Faststart for mp4

Adds -movflags +faststart so the file starts playing immediately over HTTP

Multi-threaded ffmpeg.wasm

Uses SharedArrayBuffer when available for 5-10x faster transcodes

Cancel any time

Hard-terminate the worker mid-encode with a click

100% private

No upload, no signup, no logs: the video stays in your browser

Why Convert Locally Instead of in the Cloud?

Cloud converters upload your file, queue it on a shared server, and frequently watermark or rate-limit free users. Doing the conversion locally is faster on anything modest in size, keeps the file private, and works offline.

Common use cases

  • Make a .mov phone clip playable on Windows and Android by re-muxing to mp4
  • Re-encode an mkv to mp4 so Premiere Pro / Final Cut ingest it cleanly
  • Convert a heavy mp4 to webm for use as an HTML5 <video> source
  • Switch an editor proof from mov to mp4 before sharing on Slack
  • Normalise a folder of mixed-container clips to one consistent format

Container vs codec

  • mp4 → H.264 + AAC (universal compatibility)
  • webm → VP9 + Opus (smaller, modern, royalty-free)
  • mkv → H.264 + AAC (passthrough-friendly Matroska)
  • mov → H.264 + AAC (QuickTime-native)

When to use audio passthrough

Enable Audio Passthrough when the source already has AAC audio and you only want to re-mux the container. It skips the audio re-encode entirely: much faster and 100% lossless on the audio side. The tool falls back to re-encoding automatically if the source codec is not container-compatible.

Multi-threaded vs single-threaded

The video tools are served with COOP + COEP headers so the multi-threaded ffmpeg.wasm core can use SharedArrayBuffer. If your browser blocks SAB, the loader transparently falls back to the single-threaded core.

Pro tips

Tips & best practices

webm is much smaller than mp4

For the same visual quality, VP9 in webm is typically 30-50% smaller than H.264 in mp4: at the cost of broader player support.

mov is just mp4 with a different wrapper

Converting mov → mp4 with H.264 + AAC is essentially a re-mux and runs almost as fast as a file copy.

Trim long clips first

Use the Video Trimmer to keep only what you need: the smallest input is always the fastest conversion.

mkv is the most permissive container

When unsure, mkv accepts almost any codec combination. Use it for archival or pre-edit ingest, then convert to mp4 for sharing.

Built for trust

Privacy & security

Conversion runs locally via ffmpeg.wasm. Your video is never uploaded, logged, or stored. Engine artefacts are served from our own origin so the privacy and cross-origin isolation story holds end to end.

Frequently Asked Questions

Which formats are supported?

Input: mp4, webm, mkv, mov, avi, m4v, ts, gif. Output: mp4 (H.264 + AAC), webm (VP9 + Opus), mkv (H.264 + AAC), mov (H.264 + AAC). The tool picks the right codec automatically per container.

What is "audio passthrough"?

When enabled, the audio stream is copied without re-encoding (-c:a copy). It is faster and lossless on the audio side, but only works when the source audio codec is compatible with the target container.

Does my file get uploaded?

No. Every byte is processed locally through ffmpeg.wasm. The engine artefacts are served from the same origin under /ffmpeg/<version>/ so cross-origin isolation works without third-party CDNs.

Why is webm so much smaller than mp4?

webm uses VP9 (and optionally AV1), which compresses more efficiently than the H.264 used in mp4. At the same visual quality you typically save 30-50% file size. The cost is broader player compatibility on the receiving side.

How big a file can I convert?

There is a 250 MB / 5-minute soft cap to protect mobile devices from out-of-memory crashes. Larger files generally work on desktop browsers with enough RAM.