Convert MKV to 3GP — Free Online Tool

Convert MKV files to 3GP format optimized for 3G mobile devices, re-encoding video with H.264 and audio with AAC at mobile-friendly bitrates. This conversion strips MKV's rich container features — chapters, multiple audio tracks, and subtitles — down to a lean, low-bandwidth file designed for older phones and constrained networks.

FFmpeg Command

Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg

Free — no uploads, no signups. Your files never leave your browser.

Estimated output:

Conversion Complete!

Download

How It Works

MKV is a flexible container that can hold nearly any codec alongside chapters, multiple audio tracks, and subtitle streams. Converting to 3GP requires genuine re-encoding — not just a remux — because 3GP mandates mobile-optimized constraints. The video stream is re-encoded to H.264 using a CRF of 23, and the audio is transcoded to AAC at 64k, well below the MKV default of 128k, reflecting 3GP's low-bandwidth design. A scaling filter (scale=trunc(iw/2)*2:trunc(ih/2)*2) is applied to ensure the output dimensions are divisible by 2, which H.264 requires. Any MKV-specific metadata such as chapter markers, embedded subtitles, and secondary audio tracks are dropped entirely, as the 3GP container has no mechanism to carry them.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg program. When run via this web tool, FFmpeg.wasm executes this command entirely inside your browser using WebAssembly — no file data leaves your device.
-i input.mkv Specifies the input Matroska file. FFmpeg reads all available streams from the MKV container — video, audio, subtitles, chapters, and metadata — though only the compatible streams will be carried into the 3GP output.
-c:v libx264 Re-encodes the video stream using the H.264 codec, which is the standard video codec for 3GP and ensures the widest compatibility across 3G-capable mobile devices. Regardless of what video codec the source MKV uses, the output will be H.264.
-c:a aac Transcodes the audio stream to AAC, the required audio codec for modern 3GP files. This replaces any MKV audio codec — whether Opus, Vorbis, FLAC, or MP3 — with AAC optimized for the mobile playback environment.
-crf 23 Sets the Constant Rate Factor for H.264 video quality, where lower values mean higher quality and larger files. A value of 23 is the H.264 default and provides a reasonable balance for 3GP, though you can lower it to 18 for better visual fidelity or raise it to 35 for aggressively small file sizes.
-b:a 64k Sets the audio bitrate to 64 kilobits per second for the AAC stream. This is deliberately low to match 3GP's mobile and low-bandwidth design goals — sufficient for speech and basic audio, but noticeably compressed compared to the 128k default used in MKV output.
-vf scale=trunc(iw/2)*2:trunc(ih/2)*2 Applies a video filter that rounds the output width and height down to the nearest even number. H.264 encoding requires dimensions divisible by 2, and many MKV sources have odd-numbered resolutions from cropping or non-standard captures; this filter prevents encoding failures without visibly altering the image.
output.3gp Defines the output filename and, by extension, tells FFmpeg to use the 3GP container format. The .3gp extension triggers FFmpeg's 3GPP muxer, which enforces the container's codec and feature constraints and drops incompatible streams like subtitles and chapters.

Common Use Cases

  • Sending a short video clip to someone using a basic 3G feature phone that cannot play modern MP4 or MKV files
  • Preparing video content for distribution over extremely low-bandwidth mobile networks in regions where 3G is still the primary connection
  • Archiving a small, highly compressed version of an MKV video for storage on older mobile devices with limited internal memory
  • Embedding a video clip into an MMS message where the receiving device requires 3GP format compliance
  • Testing how a video looks at aggressively low audio bitrates (64k AAC) before targeting mobile streaming audiences
  • Extracting and downsizing a clip from a large multi-track MKV file to share quickly without any editing software

Frequently Asked Questions

No — subtitles and chapters are permanently dropped during this conversion. The 3GP container format has no support for embedded subtitle streams or chapter metadata, so FFmpeg silently omits them. If your MKV relies on burned-in subtitles (hardsubbed), those will remain visible because they are part of the video image itself, but any separate subtitle tracks stored as distinct streams in the MKV will not carry over.
3GP was designed specifically for 3G mobile networks where bandwidth and device storage are severely limited. A 64k AAC bitrate is considered standard for voice and basic audio in this context, and it keeps file sizes small enough to transmit over constrained connections. If your source MKV contains music or high-fidelity audio and you need better quality, you can raise this to 96k or 128k, though this somewhat defeats the purpose of the 3GP format.
The scale=trunc(iw/2)*2:trunc(ih/2)*2 filter ensures the output video dimensions are divisible by 2, which is a hard requirement for H.264 encoding. If your MKV source has an odd pixel width or height — common with certain cropped or non-standard recordings — encoding would fail without this filter. You can remove it only if you are certain your source dimensions are already even numbers, but leaving it in place is harmless and prevents unexpected errors.
File size reduction depends heavily on what codec the original MKV video track uses and what bitrate it was encoded at. If your MKV already uses H.264 at a moderate CRF, the 3GP output at CRF 23 will be similar in video size, but the audio drop from 128k to 64k AAC will noticeably reduce the audio portion. If the MKV uses a high-bitrate codec like lossless FLAC audio or high-quality libx265 video, the savings can be substantial. Expect roughly 30–60% size reduction in typical cases.
FFmpeg selects the first audio track in the MKV by default, which is typically the primary language track. The 3GP format supports only a single audio stream, so all secondary tracks are dropped automatically. If you need a specific non-default audio track — for example, a commentary track or a different language — you would add -map 0:v:0 -map 0:a:2 (adjusting the index) to the FFmpeg command to explicitly select the desired audio stream before conversion.
To change video quality, modify the -crf value: lower numbers like 18 produce higher quality at larger file sizes, while higher numbers like 35 compress more aggressively for smaller files. For audio, change the -b:a value — for example, replacing 64k with 96k or 128k gives noticeably better audio at the cost of a larger file. Keep in mind that 3GP is intended for constrained environments, so pushing quality too high can produce files that defeat the format's purpose or that older 3G devices struggle to decode.

Technical Notes

3GP imposes strict codec constraints compared to MKV: video must be H.264 (or in rare cases MPEG-4 Part 2), and audio is limited to AAC or AMR variants. This tool uses H.264 with AAC, which represents the broadest 3GP compatibility profile. Because 3GP is a lossy-only format, any lossless content in the MKV — such as FLAC audio or PNG video tracks — will be re-encoded with quality loss. The CRF 23 video setting is a balanced starting point, but users should be aware that 3GP players on older handsets often have resolution caps, commonly at 176×144 (QCIF) or 320×240 (QVGA). If your MKV source is 1080p or higher, the output will technically encode at full resolution but may not play on legacy devices. For genuine feature phone compatibility, consider adding an explicit resolution cap such as -vf scale=320:240 to the command. The container also strips all MKV metadata fields including title tags, encoder information, and attachments such as cover art, since 3GP's metadata model is far more limited.

Related Tools