Convert MKV to 3G2 — Free Online Tool
Convert MKV files to 3G2 format using H.264 video and AAC audio — the codec pairing required for CDMA mobile network delivery. This tool re-encodes your Matroska container's content into the compact 3GPP2 format, optimized for low-bandwidth mobile streaming on older CDMA devices.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your MKV file here
or click to browse
Free — no uploads, no signups. Your files never leave your browser.
Settings
Note: Browser-based encoding uses approximate quality targets. For precise CRF compression, copy the FFmpeg command above and run it on your desktop.
Estimated output:
Conversion Complete!
DownloadHow It Works
MKV is a flexible container that can hold almost any codec combination, so the video and audio streams must be fully re-encoded rather than simply remuxed. The video is encoded to H.264 (libx264) using CRF 23, which balances quality against the small file sizes expected of 3G2 content. The audio is re-encoded to AAC at 128k bitrate, the standard codec for 3GPP2. The '-movflags +faststart' flag relocates the MP4-family metadata atom to the beginning of the output file, enabling progressive playback — critical for streaming over slow CDMA mobile connections. Features unique to MKV such as multiple audio tracks, embedded subtitles, chapters, and advanced metadata are all dropped, since the 3G2 container does not support them.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg tool. In this browser-based tool, FFmpeg runs entirely via WebAssembly (ffmpeg.wasm) inside your browser — no files leave your device. |
-i input.mkv
|
Specifies the input Matroska file. FFmpeg reads the MKV container and demuxes its video, audio, subtitle, and metadata streams for processing. |
-c:v libx264
|
Re-encodes the video stream using the H.264 encoder (libx264). This is required because 3G2 only supports H.264 and MJPEG, and the source MKV may contain VP9, HEVC, or other codecs incompatible with the 3G2 container. |
-c:a aac
|
Re-encodes the audio stream to AAC, the primary audio codec for 3G2. MKV audio tracks using Opus, Vorbis, FLAC, or MP3 must all be transcoded since 3G2 only reliably accepts AAC and MP3. |
-crf 23
|
Sets the Constant Rate Factor for H.264 encoding to 23, the libx264 default. This controls the video quality-to-filesize tradeoff — lower values mean higher quality and larger files, which matters for keeping 3G2 files small enough for mobile delivery over CDMA networks. |
-b:a 128k
|
Sets the AAC audio bitrate to 128 kilobits per second. This is a reasonable quality level for voice and general audio in the mobile context 3G2 was designed for, balancing clarity against the low-bandwidth constraints of CDMA networks. |
-movflags +faststart
|
Moves the 3G2 file's metadata index (moov atom) to the beginning of the file after encoding. This enables progressive streaming and playback-before-full-download on mobile devices, which is a core requirement of the 3GPP2 standard's design intent. |
output.3g2
|
Specifies the output filename with the .3g2 extension, signaling FFmpeg to write a 3GPP2-compliant container. The .3g2 extension is specifically associated with the CDMA variant of the mobile video standard, distinct from the GSM-targeted .3gp format. |
Common Use Cases
- Preparing video content for playback on legacy CDMA handsets (Verizon or Sprint era devices) that require 3G2 files delivered over mobile networks
- Archiving or converting old mobile video projects stored as MKV files into the 3G2 format used by early 2000s and 2010s CDMA multimedia messaging services
- Reducing a high-quality MKV recording to a low-bitrate 3G2 file for distribution through systems or kiosks that only accept 3GPP2 media
- Extracting and re-encoding a single video track from a multi-audio-track MKV into a simple single-stream 3G2 file compatible with constrained mobile players
- Generating 3G2 test media from MKV source files when developing or QA-testing mobile video playback functionality in CDMA network applications
Frequently Asked Questions
No. The 3G2 container format does not support subtitles, embedded chapter markers, or multiple audio tracks — all of which MKV can carry. During conversion, only the first video stream and the first audio stream are encoded into the output file. If your MKV relies on subtitle tracks for essential information, you would need to burn them into the video before or during conversion using FFmpeg's subtitle filter.
Regardless of the original video codec in the MKV, the output 3G2 file will always contain H.264 (libx264) video. The 3G2 format only supports H.264 and MJPEG for video, so a full re-encode is performed. This means conversion will be slower than a simple remux, and the output quality will depend on the CRF value chosen — not on the quality of the source codec.
File size depends heavily on the original MKV's codec and bitrate settings, not just the container. If your MKV used a highly efficient codec like HEVC at a high CRF, the re-encoded H.264 output at CRF 23 may actually be larger. Conversely, if the MKV contained high-bitrate video or lossless audio like FLAC, the 3G2 output will typically be significantly smaller because the video is re-encoded at a controlled quality level and the audio is compressed to 128k AAC.
The '-movflags +faststart' flag moves the file's metadata index (the 'moov' atom) from the end of the file to the beginning. For 3G2 files intended to be streamed or progressively downloaded over a CDMA mobile connection, this is essential — without it, a media player must download the entire file before it can begin playback. For files you only intend to play locally after a full download, it has no effect on quality but is still recommended as best practice.
Adjust the '-crf' value in the command. CRF (Constant Rate Factor) for libx264 ranges from 0 (lossless) to 51 (worst quality), with 23 as the default. Lower numbers produce higher quality and larger files — for example, '-crf 18' is considered visually near-lossless for H.264, while '-crf 35' produces smaller files suitable for very constrained mobile bandwidth. Given 3G2's mobile-first purpose, values between 28 and 35 are often practical choices for keeping file sizes small.
Yes. On Linux or macOS, you can run a shell loop such as: for f in *.mkv; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k -movflags +faststart "${f%.mkv}.3g2"; done. On Windows Command Prompt, use: for %f in (*.mkv) do ffmpeg -i "%f" -c:v libx264 -c:a aac -crf 23 -b:a 128k -movflags +faststart "%~nf.3g2". This browser-based tool processes one file at a time, so the FFmpeg command is especially valuable for batch workflows involving many files.
Technical Notes
The 3G2 format is part of the 3GPP2 family (a parallel standard to 3GPP's 3GP), derived from the MPEG-4 Part 12 container — making it structurally related to MP4 and MOV. It shares the same 'moov/mdat' atom structure, which is why '-movflags +faststart' applies. The format was designed explicitly for CDMA networks (used by carriers like Verizon and Sprint) as opposed to 3GP, which targeted GSM networks. Video codec support in 3G2 is narrow: only H.264 and MJPEG are widely accepted, making libx264 the practical choice for any modern quality standard. Audio support is similarly restricted to AAC and MP3; lossless formats like FLAC (supported in MKV) are entirely incompatible. Because 3G2 only supports a single video and single audio track, any MKV with multiple audio languages, commentary tracks, or forced subtitle streams will be silently reduced to its primary streams. The format is essentially obsolete for consumer use but remains relevant in legacy mobile infrastructure, older multimedia messaging systems, and certain telecom archival workflows.