How to Convert MKV to MP4 on Windows (Fast, Local, No Quality Loss)
You downloaded or received an MKV file, and Windows is being unhelpful about playing it. Maybe it stutters in Windows Media Player, won't open in your editing software, won't sync to your phone, or refuses to upload to a platform that only accepts MP4. The fix is to convert MKV to MP4 — but how you do it matters more than people realize.
There's a fast, lossless way. There's a slow, lossy way. Most online converters do the slow lossy way and don't tell you. Here's how to do it right on Windows.
MKV vs MP4: What's Actually Different
Both MKV and MP4 are *container* formats. They're wrappers — they don't define how the video or audio is encoded, they just hold it. The actual video inside both is usually H.264 or H.265. The actual audio is usually AAC or AC-3.
MKV (Matroska) is more flexible. It can hold multiple subtitle tracks, multiple audio tracks, chapters, and more exotic codecs. MP4 is more restrictive — but it's the universal format. It plays everywhere, on every device, in every editor, on every platform.
When you "convert MKV to MP4," what you actually want depends on what's inside the MKV.
Remuxing vs Re-encoding (This Is the Key Distinction)
If the video and audio inside your MKV are already in MP4-compatible codecs (typically H.264 or H.265 video, and AAC audio), you don't need to *re-encode*. You can just *remux* — copy the existing video and audio streams into a new MP4 container without touching them.
Remuxing is:
- Lossless — no quality change at all
- Fast — seconds instead of minutes, because no encoding happens
- File-size safe — output size barely changes from the source
Re-encoding is:
- Slower — minutes to hours depending on file size and hardware
- Lossy — every re-encode introduces some quality loss
- Sometimes necessary — if the source codec isn't MP4-compatible
The mistake most online MKV-to-MP4 converters make: they re-encode every file by default, even when remuxing would work. You get a slower conversion *and* worse quality, for no reason.
When You Need to Re-encode
You need to re-encode when:
- The video codec isn't MP4-compatible (VP9, AV1 in some MP4 implementations, etc.)
- The audio codec isn't MP4-compatible (FLAC, Vorbis, Opus in some configurations)
- You want to change the resolution, bitrate, or frame rate at the same time
- The MP4 has to play on hardware that only supports older codecs (e.g., older smart TVs)
In these cases, re-encoding is unavoidable. Use a quality-based encoder setting (CRF 18-23 for H.264) and hardware acceleration if you have it — NVENC on NVIDIA, AMF on AMD, Quick Sync on Intel.
Subtitles: The Hidden Gotcha
MKV often includes embedded subtitle tracks. MP4 only supports certain subtitle types (mov_text/tx3g). If your MKV has SRT or PGS subtitles, you have three options:
1. Drop them — ignore subtitles in the MP4 output
2. Burn them in — render them onto the video itself (permanent, not toggleable)
3. Convert the format — if the subtitle is text-based (SRT/ASS), convert it to mov_text so it embeds as a soft subtitle in the MP4
Most converters silently drop subtitles. If you care about them, pick a tool that lets you choose.
How to Convert MKV to MP4 on Windows with Expi
Expi handles MKV to MP4 correctly: it remuxes when it can, re-encodes when it has to, and uses hardware acceleration on whatever GPU you have.
1. Open Expi and drag your MKV file into the window. Expi reads the MKV and shows you what's inside — video codec, audio codec, subtitles, frame rate, resolution.
2. Pick MP4 as the output format. If the source codecs are already MP4-compatible, Expi offers a "remux" option that copies streams without re-encoding. Take it. The conversion will finish in seconds.
3. If re-encoding is needed, Expi defaults to hardware acceleration — NVENC, AMF, or Quick Sync depending on your machine. Set CRF to 20 for visually lossless output, or 23 for a balanced size/quality tradeoff.
4. Decide what to do with subtitles. Expi shows the subtitle tracks in the source and lets you keep them as soft subtitles (where compatible), burn them in, or drop them.
5. Convert. Remuxing takes seconds. Re-encoding with hardware acceleration takes a fraction of the time CPU encoding would. Everything happens locally — no upload, no file size limit.
What About Free Online MKV to MP4 Converters?
They work, with three real costs:
File size limits. Most cap at 1-2GB on the free tier. A 4K MKV file is often 10-20GB.
Upload time. A 5GB file over a typical home connection takes 30+ minutes to upload before the conversion even starts.
Privacy. Your file sits on their server. Read the terms — most claim the right to retain or analyze the content.
For a small MKV with no privacy concerns, an online converter is fine. For anything else, local conversion is faster, lossless when remuxing, and safer.
What About HandBrake?
HandBrake can convert MKV to MP4. It works. The catch: HandBrake always re-encodes — it doesn't have a "remux only" mode. If your MKV is already H.264 + AAC, HandBrake will re-encode anyway, which is slower and slightly lossy compared to remuxing. For genuine re-encoding workflows it's solid; for "I just need this MKV to play in MP4-only software," it's overkill.
Common Mistakes
Re-encoding when you didn't have to. If your MKV is already H.264 + AAC, remux. Don't re-encode.
Using "fast" presets that wreck quality. "Ultra-fast" presets speed up encoding by sacrificing compression efficiency — meaning either bigger files for the same quality, or worse quality for the same file size. If you're re-encoding, use "medium" or "slow" with hardware acceleration.
Forgetting about audio. Some converters silently downsample audio to 128kbps AAC. If the source has higher-quality audio, specify the bitrate yourself.
Ignoring HDR metadata. If you're converting an HDR MKV to MP4, make sure your tool preserves color metadata (BT.2020, HDR10 tags). Otherwise you end up with washed-out playback on HDR displays.
The goal of converting MKV to MP4 is to make a file that plays where you need it to play, without quietly degrading the original. Done right, on Windows, it should take seconds.