How to Convert MKV to MP4 Without Losing Quality
MKV holds everything: multiple audio tracks, subtitles, chapters. But your TV, phone, or video editor probably wants MP4. Here is how to convert without losing a single frame of quality.
What is MKV?
MKV stands for Matroska Video, named after the Russian nesting dolls. The format lives up to the name. A single MKV file can contain multiple video streams, dozens of audio tracks (different languages, commentary tracks, director's cuts), multiple subtitle tracks (SRT, ASS, PGS), chapter markers, attachments (fonts for styled subtitles), and rich metadata. It is the Swiss Army knife of video containers.
The Matroska project maintains the specification. The format is open, free, and widely adopted in the media archiving and distribution community. Almost every media player on desktop (VLC, mpv, PotPlayer, MPC-HC) handles MKV without issues. The problem is not playback on computers. The problem is everything else.
Why convert MKV to MP4?
MKV is excellent for storage and archiving. It is not great for sharing, streaming, or playing on consumer devices. Here is where you will run into trouble.
- Smart TVs: Samsung, LG, Sony, and other smart TV brands have inconsistent MKV support. Some models play MKV with H.264 but choke on H.265 in MKV. Some play the video but ignore embedded subtitles. Others refuse MKV entirely. MP4 plays reliably on every smart TV made in the last decade.
- Game consoles: PlayStation 4 and 5 do not play MKV natively. Xbox supports MKV in some cases but not with all codecs. MP4 works on both platforms without issues.
- Apple ecosystem: macOS, iOS, iPadOS, and Apple TV do not natively support MKV. QuickTime Player, the Photos app, iMovie, and Final Cut Pro all reject MKV files. You need to convert to MP4 (or MOV) to use Apple's native tools.
- Video editors: Adobe Premiere Pro, DaVinci Resolve (free version), and many NLEs have limited or no MKV import support. Converting to MP4 first avoids import errors.
- Social media and messaging: No social media platform accepts MKV uploads. Messaging apps (WhatsApp, Telegram, Signal) may not preview MKV files correctly. MP4 is universally accepted.
- Streaming to devices: Plex, Jellyfin, and Emby can transcode MKV on-the-fly, but this uses server CPU and can cause buffering. Pre-converting to MP4 with compatible codecs allows direct play without transcoding.
MKV vs MP4: technical comparison
Both are container formats. The video and audio data inside is encoded with codecs (H.264, H.265, AAC, etc.) that exist independently of the container. The container determines what features are available and what devices can open the file.
| Feature | MKV (Matroska) | MP4 (MPEG-4 Part 14) |
|---|---|---|
| Multiple audio tracks | Unlimited | Supported but limited tooling; most players show only the first track |
| Subtitle tracks | Full support (SRT, ASS/SSA, PGS, VobSub) | Limited (tx3g/mov_text; no ASS/SSA styling) |
| Chapter markers | Full support | Supported but rarely used by players |
| Attachments (fonts) | Yes | No |
| Video codecs | H.264, H.265, VP9, AV1, MPEG-2, and many more | H.264, H.265, AV1, VP9 |
| Audio codecs | AAC, AC-3, DTS, FLAC, Opus, TrueHD, PCM | AAC, MP3, AC-3, Opus, FLAC |
| Smart TV support | Inconsistent | Universal |
| Apple device support | None (requires third-party apps) | Full native support |
| Streaming (DASH/HLS) | Not used for streaming | Standard for both DASH and HLS |
| File repair on corruption | Better recovery (Matroska's EBML structure) | Fragile; corruption can make the file unplayable |
MKV is the better archival format. MP4 is the better distribution format. If you keep your originals in MKV and convert to MP4 for sharing and playback, you get the best of both.
Remuxing vs re-encoding
This is the critical decision for MKV-to-MP4 conversion. If the codecs inside the MKV are compatible with the MP4 container, you can remux: copy the data directly without any processing. Zero quality loss. Takes seconds.
If the codecs are not compatible, you must re-encode: decode the video and compress it again. This takes longer and introduces a small quality reduction (imperceptible at high settings).
| Codec in MKV | Compatible with MP4? | Action needed |
|---|---|---|
| H.264 video | Yes | Remux (instant, lossless) |
| H.265 (HEVC) video | Yes | Remux (instant, lossless) |
| AV1 video | Yes | Remux (instant, lossless) |
| VP9 video | Technically yes, poor device support | Re-encode to H.264/H.265 recommended |
| MPEG-2 video | No | Re-encode to H.264/H.265 |
| AAC audio | Yes | Remux |
| AC-3 (Dolby Digital) audio | Yes | Remux |
| DTS audio | No (not standard in MP4) | Re-encode to AAC or AC-3 |
| TrueHD audio | No | Re-encode to AAC or AC-3 |
| FLAC audio | Technically yes, poor support | Re-encode to AAC recommended |
The most common scenario: an MKV file with H.264 video and AAC audio. This remuxes to MP4 in seconds. No quality loss. The second most common: H.265 video with AC-3 audio. Also a remux. ConvX detects this automatically and takes the fastest path available.
Convert with ConvX (one command)
convx convert movie.mkv --to mp4ConvX inspects the codecs inside the MKV and decides whether to remux or re-encode. For H.264 or H.265 video with AAC or AC-3 audio, it remuxes in seconds. For incompatible codecs, it re-encodes to H.264 + AAC at a quality level that preserves visual fidelity. See the full options in the CLI reference.
Batch convert a folder of MKV files
convx convert movies/ --to mp4 -j 2Converts every MKV file in the folder with 2 parallel jobs. For remuxable files, this completes in seconds per file regardless of size. For files that need re-encoding, the parallel jobs let you utilize more CPU cores. On a machine with 8 cores, two parallel re-encodes (each using 4 cores) is often faster than one re-encode using all 8, due to encoding efficiency curves.
convx convert movies/ --to mp4 -j 2 -d ./mp4-outputOutput to a separate directory. ConvX preserves the original filenames with the new extension.
Handling subtitles during conversion
Subtitles are the biggest pain point in MKV-to-MP4 conversion. MKV supports rich subtitle formats (ASS/SSA with custom fonts, colors, positioning; PGS bitmap subtitles from Blu-rays; SRT plain text). MP4 has limited subtitle support: it uses the tx3g (mov_text) format, which is plain text with basic styling.
What happens to subtitles
- SRT subtitles in MKV: Can be converted to tx3g in MP4. Timing and text are preserved. Basic styling may be lost. Most players display them correctly.
- ASS/SSA subtitles in MKV: Custom fonts, colors, karaoke effects, and precise positioning are lost when converting to tx3g. The text content is preserved but all styling is stripped. If styled subtitles matter, keep the MKV or use an external SRT file alongside the MP4.
- PGS subtitles (Blu-ray): These are bitmap images, not text. They cannot be stored in MP4 at all. You can burn them into the video (hardcode), which makes them permanent and non-toggleable. Or extract them as a separate file and use OCR to convert them to SRT.
ConvX includes the first SRT or text subtitle track in the MP4 output by default. For PGS subtitles, it warns you that they will be dropped unless you use the --burn-subs flag to hardcode them into the video.
For detailed information on subtitle formats and MKV container capabilities, the Matroska subtitle documentation is a good resource.
Handling multiple audio tracks
MKV files often contain multiple audio tracks: English, Spanish, Japanese, commentary, descriptive audio. MP4 supports multiple audio tracks technically, but in practice, most players and devices only recognize the first track.
ConvX includes the first audio track by default. To select a different track, specify it by index:
convx convert movie.mkv --to mp4 --audio-track 2This selects the second audio track (0-indexed as track 1, displayed as track 2). To include all audio tracks:
convx convert movie.mkv --to mp4 --all-audioAll tracks are included in the MP4, but most players will only play the first one. VLC and mpv let you switch tracks. Smart TVs and mobile devices typically do not.
Preserving chapter markers
MKV files can contain chapter markers that let you skip to specific points in the video. MP4 supports chapters too, and ConvX preserves them during conversion. Most desktop players (VLC, mpv) display chapter navigation. Mobile devices and smart TVs usually ignore chapter markers regardless of container format.
Converting for specific devices
Smart TV playback
For the widest smart TV compatibility, convert to MP4 with H.264 video and AAC stereo audio. Most TVs decode H.264 in hardware. H.265 is supported on TVs from 2016 onward but can be unreliable on budget models. If your MKV already has H.264 + AAC, ConvX remuxes instantly. If it has DTS or TrueHD audio, the audio is re-encoded to AAC while the video is copied as-is.
Apple devices (iPhone, iPad, Apple TV)
Apple devices support H.264 and H.265 in MP4. For 4K content, H.265 is preferred (smaller files, native hardware decoding on A10 chip and later). For 1080p and below, H.264 is universally compatible. Audio must be AAC or AC-3. DTS is not supported.
Plex / Jellyfin direct play
If your media server transcodes MKV files on-the-fly, it wastes CPU and can cause buffering on slow connections. Pre-converting to MP4 with H.264 + AAC enables direct play on virtually every Plex/Jellyfin client. The server just streams the file without processing.
Using the desktop app
Drag your MKV file into ConvX. The app displays the detected video codec, audio codec(s), subtitle tracks, and chapter information. Select MP4 as the output format. If the codecs are compatible, a "Remux" badge appears and conversion is instant. If re-encoding is needed, adjust the quality slider and click convert. For files with multiple audio or subtitle tracks, the app shows a track selector before conversion.
Using ConvX with AI agents via MCP
ConvX includes an MCP server that allows AI agents to convert files programmatically. An AI assistant could, for example, detect that a user's MKV file needs conversion for Apple TV playback, select the right codec settings, and run the conversion without manual intervention. The MCP integration exposes all ConvX conversion capabilities to any MCP-compatible AI agent.
Alternative tools
If you want to explore other approaches, two popular free tools handle MKV-to-MP4 conversion.
HandBrake is a free, open-source video transcoder. It always re-encodes (it cannot remux), so conversions are slower than necessary when the codecs are already compatible. It offers extensive codec and filter options for advanced users.
VLC can convert media files through its "Convert/Save" menu. The interface is not intuitive for conversion tasks, and the output quality settings are limited. It works in a pinch but is not designed for batch conversion.
ConvX differentiates by automatically detecting remuxable files (instant, lossless conversion), supporting batch processing with parallelism, and integrating with AI agents via MCP.
Troubleshooting
Video plays but subtitles are missing
MP4 does not support PGS or ASS/SSA subtitles natively. If your MKV had PGS subtitles (common in Blu-ray rips), they are dropped during conversion. To preserve them, burn them into the video:
convx convert movie.mkv --to mp4 --burn-subsThis hardcodes the subtitles into the video stream. They are always visible and cannot be toggled off.
Audio track is in the wrong language
MKV files often have multiple audio tracks. ConvX selects the first track by default, which may not be the language you want. List the tracks first:
convx info movie.mkvThen specify the correct track number during conversion.
File size doubled after conversion
If the MKV contained H.265 video and ConvX re-encoded to H.264, the output will be larger because H.264 is less efficient at the same quality level. Check whether a remux is possible (H.265 in MP4 is fine). If ConvX re-encoded unnecessarily, verify the source codec with convx info.
Conversion takes hours for a large file
If the source codec is compatible (H.264 or H.265), conversion should take seconds via remux. If it is taking hours, re-encoding is happening. Check the ConvX output for "remux" or "re-encode" indicators. If you just need a format change and the codec is compatible, make sure you are not forcing a quality setting (which triggers re-encoding).
DTS audio is not playing on my TV
Many smart TVs do not support DTS audio in MP4 containers. Re-encode the audio to AAC:
convx convert movie.mkv --to mp4 --audio-codec aacThis copies the video stream (if compatible) and only re-encodes the audio, which is fast.
Chapter markers are gone
Some conversion tools strip chapter metadata. ConvX preserves chapters by default. If chapters are missing in the output, verify the source has them with convx info movie.mkv. If the source has chapters and the output does not, file a bug report.