How to Convert MKV to MP4 (Without Re-encoding Where Possible)
What's Actually Different Between MKV and MP4
Let's clear something up: MKV (Matroska Video) and MP4 are both just container formats. Think of them as digital boxes, like a zip file, that hold video streams, audio streams, subtitles, and chapter markers. The video and audio data inside those boxes is often identical. A typical MKV file you find online probably contains H.264 or H.265 video with AAC or AC3 audio. Guess what a standard MP4 file uses? Those exact same codecs. This is why the phrase 'convert MKV to MP4' is often a misnomer. For many files, you aren't converting anything; you're remuxing. Remuxing is the process of pulling the streams out of the MKV container and dropping them into a new MP4 container without touching the actual encoded data. This means the video quality is bit-for-bit identical, and the process is lightning-fast. It takes seconds, not minutes, because your CPU isn't being forced to re-encode gigabytes of video. Of course, it's not always that simple. The process gets complicated when the MKV contains audio in a format MP4 doesn't natively support, like TrueHD, DTS-HD MA, or FLAC. In these situations, the audio track must be re-encoded, usually to the widely compatible AAC or AC3 formats. The video stream itself can still be remuxed losslessly while only the audio is transcoded. A full, time-consuming video re-encode is only necessary in the rare case that the video codec itself is incompatible.
Checking Your MKV Before You Convert
Don't just blindly start converting. Spend 30 seconds identifying what's inside your MKV file. This checkup tells you exactly what kind of conversion you need and helps you avoid wasting time on a failed attempt. On Windows, right-clicking the file for Properties gives you basics like duration and file size, but not the critical codec details. For that, you need a proper tool. I recommend MediaInfo (it's free and open-source). Open your MKV in MediaInfo and switch to the Tree view. You'll see a clear breakdown, something like: Video — Format: AVC (H.264), Profile: High@L4.1, Bit rate: 8 500 kb/s. Audio — Format: AC-3, Channels: 6, Bit rate: 640 kb/s. This example is the perfect candidate for a fast remux. Both H.264 video and AC3 audio can be dropped into an MP4 container without any re-encoding. Contrast that with a file that shows: Audio — Format: MLP FBA (TrueHD), Channels: 8. Since MP4 containers don't support TrueHD, you know immediately that the audio track will require transcoding. Also, pay close attention to the subtitles. MKV is flexible, supporting image-based subtitles (PGS/VOBSUB) and text-based ones (ASS/SRT). MP4, however, has much more limited support (TX3G/SRT). If your MKV uses PGS subtitles, they can't be carried over into the MP4 container. They will either be dropped or you'll have to permanently burn them into the video, which requires a full re-encode. Knowing this up front saves you from a nasty surprise after a 20-minute conversion.
Using CocoConvert for Quick Browser-Based Conversion
If you have a standard MKV with H.264/H.265 video and AAC/AC3 audio, CocoConvert's [MKV to MP4 converter](/convert/mkv-to-mp4) is the path of least resistance. Just upload your file and choose MP4 as the output. The service is smart enough to detect when streams are compatible and will perform a fast remux instead of a slow transcode. A 4 GB file can be ready in under a minute, mostly limited by your upload speed. When a file has incompatible audio (like FLAC, DTS, or TrueHD), CocoConvert handles it gracefully. It automatically re-encodes just the audio track to a compatible AAC format—typically 192 kb/s for stereo or 384 kb/s for 5.1 surround—while leaving the video stream untouched. These are solid defaults for almost any playback scenario, from smart TVs to video sharing platforms. There are some practical limits. The free tier on CocoConvert has a 2 GB file size cap, while paid plans go up to 8 GB. This won't work for a 50 GB Blu-ray remux, which will require a local tool like the one we'll cover next. Also, the service currently drops PGS subtitle tracks rather than burning them in, as burning would force a full video re-encode and dramatically slow things down. If you need those subtitles, be sure to check your output file before deleting the original MKV. For most everyday files—a TV show episode, a movie under 8 GB, or a clip someone sent you—the browser-based route is simply the fastest way to get a universally playable MP4 without installing any software.
Doing It Locally with FFmpeg (Free, No File Size Limit)
FFmpeg is the engine that powers countless video apps, and using it directly gives you ultimate control. Don't let the command line intimidate you; for this specific task, the commands are short, powerful, and easy to remember. Honestly, it's often faster than clicking through a dozen GUI windows. For a pure, lossless remux where you don't re-encode anything, this is the magic command: `ffmpeg -i input.mkv -c copy output.mp4` The `-c copy` part tells FFmpeg to copy every stream—video, audio, subtitles—without altering them. On any modern computer, this is practically instantaneous. The only catch is that FFmpeg will throw an error and stop if your audio is in a format MP4 can't handle (like TrueHD or FLAC). If that happens, you just need to tell it to re-encode only the audio: `ffmpeg -i input.mkv -c:v copy -c:a aac -b:a 384k output.mp4` Here, `-c:v copy` remuxes the video losslessly, while `-c:a aac -b:a 384k` re-encodes the audio to high-quality AAC at 384 kb/s, which is great for 5.1 surround. For stereo, 192k is plenty. If you have multiple audio tracks and only want the first one, add `-map 0:v:0 -map 0:a:0` before the output filename. To keep all of them, use `-map 0:v -map 0:a`. For subtitles, text-based SRT can be included with `-c:s mov_text`. Image-based PGS subtitles, however, cannot go into an MP4; you have to exclude them with `-map -0:s` to prevent an error. FFmpeg runs everywhere. On macOS, install it with Homebrew: `brew install ffmpeg`. On Windows, download the static build from ffmpeg.org and add it to your PATH. A 10 GB remux using `-c copy` should take less than 30 seconds on a decent laptop.
When You Actually Need to Re-encode (And What to Expect)
Let's be clear: you should avoid a full video re-encode whenever possible. But it becomes unavoidable in a few cases: the video codec is old or unsupported (like MPEG-2 from a DVD), you absolutely must reduce the file size, or you're targeting a picky device. Some older Samsung TVs, for instance, can be very particular about H.265 profile levels. Re-encoding always means a trade-off between quality, file size, and time. A 2-hour H.264 movie re-encoded to H.264 at a lower bitrate will look a little softer than the original; how much worse depends on how aggressive you are with the compression. Using the newer H.265 codec can give you similar visual quality at about half the file size of H.264, but the encoding process is much, much longer. We're talking 3–8x real-time on a standard CPU, meaning a 2-hour film could tie up your machine for 6–16 hours. GPU encoding (NVENC, VideoToolbox) is much faster, but generally produces slightly lower quality for a given bitrate. In FFmpeg, a solid H.264 re-encode command looks like this: `ffmpeg -i input.mkv -c:v libx264 -crf 18 -preset slow -c:a aac -b:a 192k output.mp4` For the `-crf` value, 18 is visually almost identical to the source. The default is 23, which is a good balance and noticeably smaller. Going up to 28 will show visible softness. The `-preset slow` flag tells FFmpeg to work harder to improve compression, at the cost of time. For archival, `veryslow` is even better. But if your only goal is to play an MKV on a device that doesn't support it, re-encoding is often the wrong first step. Just install VLC or Infuse on that device. It's faster, easier, and preserves the original quality.
Common Problems and How to Fix Them
Anyone who's done this a few times knows that things can go wrong. Here are the most common issues that crop up when converting MKV to MP4, and the fixes for them. **Audio sync drift:** This is the classic problem where audio starts in sync but slowly drifts away from the video. It often happens when remuxing MKVs that use a variable frame rate (VFR), which is common in screen recordings. The fix is to add `-vsync cfr` to your FFmpeg command to force a constant frame rate, though this does involve a minor re-encode of the video timing. The remux engine in CocoConvert applies a sync correction pass automatically when it detects VFR content. **Missing audio after conversion:** Your new MP4 has video but is completely silent. This is almost always because the original audio codec wasn't supported in the MP4 container and was simply dropped. Re-run your conversion, but this time explicitly encode the audio with `-c:a aac -b:a 192k`. **File won't play on iPhone or iPad:** Apple devices are strict. They need H.264 Baseline/Main/High profile up to Level 5.1, or H.265 Main profile. Use MediaInfo to check the video profile. If your file is High@L5.2 or higher, or if it's H.265 Main 10 (common for HDR content), you'll likely need to re-encode to make it compatible. HDR-to-SDR conversion is a whole other beast requiring tone-mapping. **Output file is larger than input:** After a simple remux, the file size should be within 1-2% of the original. If it's dramatically larger, you've almost certainly re-encoded something by mistake. Double-check that you used `-c copy` for video. **Chapters and metadata disappearing:** FFmpeg's `-c copy` command is great at preserving chapters, but many online tools will strip them out. If chapter markers are important, verify them in your output file using VLC's Playback > Chapters menu.
Choosing the Right Method for Your Situation
So, what's the best approach? It really boils down to your file and your needs. **For the fastest and easiest conversion:** If your file is under 8 GB and has standard video/audio tracks (H.264/H.265 video with AAC/AC3 audio), use CocoConvert's [MKV to MP4 tool](/convert/mkv-to-mp4). You upload the file, the service does a quick remux, and you download a perfect MP4. No software, no commands, no fuss. The output quality will be identical to the source. **For power users and large files:** If your file is over 8 GB, you're converting a whole season of a show, or you need precise control over tracks, FFmpeg with `-c copy` is your best friend. It's free, has no file size limit, and the remux commands are so simple you can easily automate them in a script. **When you must re-encode:** For truly incompatible source material (like an old DVD rip) or when you absolutely need to shrink a file, you have to plan for a re-encode. For this, I recommend HandBrake. It provides a graphical interface for FFmpeg's power. Just open your MKV, select the MP4 container on the Summary tab, and pick a quality preset like `H.264 MKV 2160p60` (adjusting for your resolution) and tweak the quality slider. HandBrake also makes it easy to manage audio tracks and burn in subtitles. One last piece of advice, born from experience: always keep your original MKV until you've double-checked the output MP4. A remux is fast and lossless, but if something goes wrong—a dropped audio track, a sync issue—you'll be glad you have the source file to try again with different settings. Disk space is cheap; your time is not.