Video Converter
Change a video's format without re-encoding it when you do not have to. Most conversions — MOV to MP4, MKV to MP4 — only swap the wrapper, so the picture and sound are copied across untouched. FFmpeg runs in your tab; nothing is uploaded.
- Copies the streams instead of re-encoding whenever the target format accepts them, so the result is identical to the source
- Eleven output formats, and a plan that tells you what will happen to the picture and the sound before you start
Drop a video file here
The file stays on your machine — it is never uploaded
Reads MP4, MOV, MKV, WebM, AVI, WMV, FLV, MPEG-TS, MPG, 3GP, OGV, and most other formats FFmpeg understands.
No video selected yet
Choose a video file to begin. The engine is only downloaded once you do.
Overview
Most format conversions do not need to touch the video at all. This one works out which parts genuinely have to be re-encoded, does only those, and shows you the reasoning before it starts.
- 01
Copies the streams when it can
A MOV usually holds H.264 video and AAC audio — exactly what MP4 accepts. So the conversion rewrites the wrapper and moves the existing packets into it, finishing in seconds with a picture identical to the original. Re-encoding that compatible pair would only add time and a generation of quality loss.
- 02
Tells you what it is about to do
Before anything runs, the panel states it plainly: the video will be copied or re-encoded, the audio will be copied or re-encoded, and why in each case. That is the difference between a tool you can trust with a master file and one you have to test on a copy first.
- 03
Eleven output formats
MP4, MKV, WebM, MOV, AVI, MPEG-TS, FLV, WMV, OGV, MPG, and 3GP, each with the codecs that actually belong in it. The choices adjust to the format rather than offering combinations the muxer would reject halfway through.
- 04
Warns you before an unusual pairing
VP9 inside an MP4 is a legal file that plenty of software refuses to open, and HEVC in an MP4 plays on Apple devices but often not in Chrome. Both are flagged with the specific consequence, so a conversion that technically succeeds does not fail you later.
- 05
Reads far more than it writes
FFmpeg opens WMV, FLV, RealVideo, DivX, VOB, MTS, and much of the awkward back catalogue alongside modern formats. A playable source is often readable here, though a damaged file or a codec outside this browser build can still fail.
- 06
Local processing, with no upload
FFmpeg is compiled to WebAssembly and runs in the tab. Nothing is uploaded, queued, watermarked, or tied to an account. Browser memory sets a practical ceiling on file size, while interview footage, client recordings, and captures of internal tools stay on your machine.
How to use
From a file that will not open to one that will, in four steps.
- 01
Drop a video onto the page, or use the file picker. The engine starts downloading at this point — it is about 31 MB and only happens once — and the file is then read for its container, codecs, and dimensions.
- 02
Choose the output format. MP4 is the right answer for almost anything that has to be shared, played, or uploaded; MKV is the one that will accept a copy of nearly any stream.
- 03
Read the plan on the right. It says whether the picture and the sound are being copied or re-encoded, and why. Leave Method on Auto unless you specifically need a different codec or a smaller frame.
- 04
Press Convert. The finished file appears on the right, ready to play before you download it when the format is one a browser can show.
Details
The details that decide whether the file you get back is the one you needed.
- Eleven output containers: MP4, MKV, WebM, MOV, AVI, MPEG-TS, FLV, WMV, OGV, MPG, and 3GP
- Automatic stream copy whenever the target container accepts the source codec, with no decoding step at all
- A per-stream plan showing copy or re-encode, the resulting codec, and the reason, before anything runs
- Video encoding to H.264, VP8, ProRes, MPEG-4 Part 2, MPEG-2, Theora, WMV 8, or Sorenson H.263
- Audio encoding to AAC, MP3, Vorbis, AC-3, MP2, FLAC, ALAC, WMA, or PCM, or dropped entirely
- Codec choices filtered to what the chosen container will actually accept
- Warnings for legal but unusual pairings, and for a carried-over HEVC or AV1 picture that browsers disagree about
- Optional downscaling to 2160p, 1440p, 1080p, 720p, 480p, or 360p, naming the short side so portrait stays portrait
- Faststart applied to MP4, MOV, and 3GP so playback can begin before the download completes
- Real byte-level progress while the engine downloads, and conversion progress after that
- The finished file states its size against the source, and whether anything was re-encoded
- Everything runs in the browser tab — no upload, no queue, no account, no watermark
Use cases
The situations that send people looking for a video converter.
-
A MOV from an iPhone that Windows will not open
The recording is already H.264 and AAC — precisely what MP4 holds. Converting to MP4 copies both streams into the new wrapper in seconds, with nothing re-encoded and nothing lost. This is the single most common conversion there is, and the one that should never cost quality.
-
An MKV download that no editor will import
Matroska is excellent at storing things and poorly supported by editing software. When the video inside is H.264, moving it to MP4 is a copy; when it is HEVC or something older, the plan says so and re-encodes only what has to change.
-
An old AVI, WMV, or FLV from an archive
Files from the DivX and Flash era still turn up in shared drives and backup disks, and modern software increasingly refuses them. Converting to MP4 brings them back into something every device can play, and often the audio can still be copied even when the picture cannot.
-
Making a clip play natively on a web page
WebM with Vorbis audio is an open-format route for HTML5 video, and MP4 with H.264 covers the widest range of devices. Producing both from one source takes two runs, and the plan makes clear which one is a copy and which is a real encode.
-
Preparing footage for an editor
Long-GOP H.264 makes editing software work hard on every seek. Converting to ProRes in a MOV gives the editor frames it can cut without reconstructing them first — much larger files, and much smoother scrubbing.
-
An upload form that only accepts MP4
Job applications, course submissions, and support portals routinely name one format and reject everything else, sometimes only after a long upload. Producing exactly what the form asks for beforehand turns a rejection into a submission.
-
A recording that plays but has no sound
Some containers carry audio that the player cannot decode — AC-3 or DTS in an MKV is the usual culprit. Converting with the audio re-encoded to AAC, while the picture is still copied, fixes the sound without touching the image or waiting for a full conversion.
-
Footage that should not be uploaded
Interview recordings, medical video, client footage, and captures of internal tools all carry things that have no business on a converter site. Everything here happens in the tab, which you can confirm from the network panel while it runs.
See also
Changing the format is not the same as making a file smaller: when the problem is a size limit rather than a player, the tool that works backwards from a number in megabytes is Video Compressor. When it is the frame that has to change — a different resolution, a crop, a switch from landscape to portrait — that belongs to Video Resizer & Cropper. And when only the sound matters, pulling the audio out of a recording and saving it as MP3 is what Audio Converter does.
Container and codec are two different things
Almost every confusing thing about video formats comes from treating the file extension as the format. It is not: .mp4 names the box, and what is inside it is a separate decision. Once those two are apart, most conversion problems have an obvious answer.
-
The container is the box
MP4, MKV, WebM, MOV, and AVI are containers. A container stores one or more streams alongside the timing information that keeps them in sync, plus an index so a player can jump around. It does not encode anything itself.
-
The codec is what is inside
H.264, HEVC, VP9, AV1, and MPEG-4 Part 2 are video codecs; AAC, MP3, Opus, and Vorbis are audio codecs. The codec decides how the picture and sound are compressed, and it is what determines both the quality and whether a given player can decode it at all.
-
Containers are picky, but not equally so
MP4 takes H.264, HEVC, MPEG-4 Part 2, and a few others. WebM takes only VP8, VP9, and AV1. MKV takes nearly everything, which is why it is the reliable landing place for anything unusual. This is what decides whether a conversion can be a copy.
-
Which is why "MOV to MP4" is usually free
Both containers accept H.264 and AAC, so the streams that came out of your camera fit the new box unaltered. Nothing is decoded, nothing is compressed again, and the output is byte-for-byte the same video. The only thing that changed is the paperwork around it.
-
And why "MP4 to WebM" is not
WebM will not hold H.264 under any circumstances. The picture has to be decoded and encoded again as VP9 or VP8, which takes real time and gives up a generation of quality. That is not a failing of the tool — it is the format boundary itself.
-
The extension is a label, not a guarantee
Renaming a .mkv to .mp4 changes nothing inside and usually makes the file unplayable, because the player now expects a structure it will not find. A real conversion rewrites that structure, which is what happens here even when no stream is touched.
Best practices
Habits that get a working file on the first run.
- Leave Method on Auto to begin with — if the plan says both streams are being copied, you get the same video in a new wrapper in seconds, and there is nothing to gain by re-encoding it
- Choose MP4 whenever the file has to be shared, played, or uploaded, and reach for anything else only when something specifically asks for it
- Fall back to MKV when the plan says the picture has to be re-encoded: it accepts almost any stream, so it usually turns that expensive re-encode back into a rewrite
- Read the plan rather than the format name — the same "convert to MP4" is instant for one file and a full re-encode for another, and the panel says which you have
- Set the resolution only when you actually need a smaller frame, since choosing anything but Keep forces a re-encode even where the format change on its own would not have needed one
- Re-encode deliberately when a file is misbehaving: a player that rejects a stream for reasons the wrapper cannot fix will usually accept H.264 in MP4
- Convert from the original rather than from an earlier conversion, because every re-encode is applied on top of the last one
- Do long or high-resolution work in a desktop browser, since a phone gives a tab far less memory to hold the file in
Limitations
What this tool deliberately does not do, and where it will struggle.
- A stream copy is lossless, but any re-encode is not. H.264, VP8, and the rest are lossy formats, so a re-encoded file is a generation further from the original however high the quality setting.
- One video track and one audio track are carried over. Extra language tracks, subtitle streams, and chapters are dropped, which matters most for MKV downloads that carry several of each.
- HEVC and AV1 can be read and copied but not produced. The engine has no AV1 encoder at all, and its HEVC encoder does not work in a single-threaded browser build, so H.264 is the modern codec this tool writes.
- VP9 cannot be produced either: the encoder in this build fails with memory errors, so WebM output is encoded as VP8. Copying an existing VP9 stream into WebM or MKV still works.
- AV1 cannot be re-encoded in either direction here, since the decoder in this build needs hardware that WebAssembly cannot reach. Copying an AV1 stream into a container that accepts it still works, because nothing is decoded.
- It does not trim, crop, rotate, join, add captions, or aim at a file size. Those are separate jobs with separate tools, linked below.
- Re-encoding runs on a single thread in WebAssembly, so it is slower than the same job in a desktop copy of FFmpeg. Copying is unaffected — that path barely uses the processor at all.
- The whole video is read into memory before anything starts, and WebAssembly is 32-bit, so files beyond roughly a quarter of a gigabyte become unreliable.
- The engine is about 31 MB on first use. It is cached afterwards, but the first run in a fresh browser profile carries that download.
- Formats that no browser plays — MKV, AVI, WMV, FLV, MPEG-TS, MPG, and 3GP — are produced correctly but cannot be previewed here. Download them and open them in a player.
- A file that is genuinely damaged may not be readable at all. A rewrite can repair a missing or misplaced index, but it cannot reconstruct data the file never contained.
FAQ
Questions that come up when a video is in the wrong format.
How do I convert MOV to MP4 without losing quality?
Choose MP4 and leave Method on Auto. A MOV from a phone or camera almost always holds H.264 video and AAC audio, both of which MP4 accepts, so the streams are copied into the new container rather than decoded and compressed again. The plan panel will say "Copy" for both, and the finished file is identical in quality to what you started with — it just takes seconds.
How do I convert MKV to MP4?
Pick MP4 and check the plan. When the MKV holds H.264 or HEVC video, MP4 accepts it and the video is copied straight across; the audio is copied too unless it is something MP4 refuses, such as Vorbis or DTS, in which case only the sound is re-encoded to AAC. Bear in mind that only the first video and audio track come over, so an MKV carrying several language tracks or subtitles will arrive simplified.
Does converting a video reduce its quality?
Only when something is actually re-encoded. A stream copy moves compressed data unchanged, so the result is identical to the source and no setting can improve or degrade it. A re-encode decodes the picture and compresses it again, which always loses something, however small. The plan tells you which of the two is about to happen, and Auto avoids the second whenever the format allows.
Is my video uploaded anywhere?
No. The engine is FFmpeg compiled to WebAssembly and it runs inside your browser tab. The file is read from disk into the tab's memory and the result is written back out as a download. Nothing about the file crosses the network, which you can confirm by watching the network panel while a conversion runs.
What is the difference between a container and a codec?
The container is the file format itself — MP4, MKV, WebM — and it holds streams plus the timing and index information that keeps them playable. The codec is how the picture and sound inside are compressed, such as H.264 or AAC. A player can support a container and still fail on what is inside it, which is why "my MP4 will not play" is a real and common problem, and why this tool reports both separately.
Can I just rename a .mkv to .mp4?
No, and it usually makes things worse. The extension is a label; the bytes inside are laid out according to the real container, so a player told to expect MP4 will look for structures that are not there and refuse the file. A conversion rewrites that structure properly. When the streams are compatible it is nearly as fast as renaming and, unlike renaming, it actually works.
Which video format should I convert to?
MP4 with H.264 unless you have a reason not to: browsers, phones, editors, and upload forms all handle it, and most sources can be copied into it without re-encoding. Use WebM when you want an open format playing natively on a web page, MKV when you need a container that will take an unusual stream without touching it, and MOV with ProRes when the destination is an editing timeline.
Why does my MP4 still not play after converting?
Check what the plan said went inside it. An MP4 carrying HEVC plays on Apple devices and often nowhere else, and one carrying VP9 is a legal file that much software refuses — both are flagged before you convert. Switching Method to Re-encode with H.264 selected produces the combination that plays essentially everywhere, at the cost of a full encode.
Why does my converted file have no sound, or the wrong language?
Only the first audio track is carried over, so a file with several language tracks arrives with whichever one came first. If the output is silent instead, the likely cause is an audio codec the container refused — the plan panel names it and re-encodes to something the container accepts, which is normally all that is needed.
Why is converting MP4 to WebM slow when MOV to MP4 was instant?
Because they are different kinds of job. MOV and MP4 both accept H.264, so the streams move across without being decoded. WebM accepts only VP8, VP9, and AV1, so an H.264 picture has to be fully decoded and encoded again — every frame, on one thread, inside a browser tab. The plan panel says which of the two you are about to do before you commit to it.
Can this convert HEVC, AV1, or VP9 video?
It can read all three and copy any of them into a container that accepts them, since copying never decodes anything. It cannot produce them: this build has no AV1 encoder, its HEVC encoder does not run single-threaded, and its VP9 encoder fails with memory errors, so WebM is written as VP8. Re-encoding AV1 into something else is also out of reach, because decoding it needs hardware that WebAssembly cannot use. For HEVC and VP9 sources, converting to H.264 works normally.
How large a file can I convert, and how long does it take?
A copy is quick almost regardless of length, because nothing is decoded — the limit is memory rather than time. A re-encode scales with the duration, the resolution, and your machine, and runs on a single thread, so a long high-resolution clip takes real time. The practical ceiling for either is around 250 MB, since the whole file is held in the tab while it works.
Related tools
More local, browser-only tools for working with video.