Convert 3GP to MKV — Free Online Tool

Convert 3GP videos from mobile phones into MKV files with full H.264 video and AAC audio encoding. MKV's flexible container unlocks higher audio bitrates, subtitle support, and broad desktop media player compatibility — everything 3GP's mobile-constrained format was never designed to provide.

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

3GP files use H.264 or MPEG-4 video and AAC or AMR audio, optimized for 3G network transmission with tight constraints on bitrate and resolution. During this conversion, the video stream is re-encoded using libx264 with a CRF of 23, which typically matches or improves on the original quality since 3GP encoders often apply aggressive compression to meet mobile storage limits. The audio is transcoded to AAC at 128k — a significant upgrade from the 64k default bitrate common in 3GP files. A scale filter ensures the output dimensions are divisible by 2, which is required for H.264 encoding and prevents errors with odd-pixel-dimension videos that are common on older mobile devices. The result is an MKV file that preserves the visual content while shedding the mobile-carrier restrictions of the 3GP wrapper.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg program, the open-source multimedia processing engine that handles all decoding, re-encoding, and container remuxing for this 3GP-to-MKV conversion.
-i input.3gp Specifies the input 3GP file. FFmpeg reads the container to detect the embedded video codec (typically H.264 or MPEG-4) and audio codec (often AAC or AMR) before deciding how to process each stream.
-c:v libx264 Re-encodes the video stream using the libx264 H.264 encoder. This is necessary because while some 3GP files already contain H.264, the 3GP container itself is not MKV-native, and re-encoding ensures compatibility and allows the CRF quality setting to be applied.
-c:a aac Transcodes the audio stream to AAC using FFmpeg's built-in AAC encoder. This is particularly important for 3GP files that contain AMR audio, which is a narrowband codec designed only for voice on 2G/3G networks and is largely unsupported outside mobile contexts.
-crf 23 Sets the Constant Rate Factor for the libx264 encoder to 23, the standard default for good-quality H.264 output. For 3GP sources that were heavily compressed at low mobile bitrates, CRF 23 typically produces output that matches or slightly exceeds the visual quality of the original.
-b:a 128k Sets the audio output bitrate to 128 kilobits per second. This is a significant upgrade from the typical 32k–64k audio bitrates found in 3GP files encoded for 3G networks, resulting in noticeably cleaner sound in the MKV output.
-vf scale=trunc(iw/2)*2:trunc(ih/2)*2 Applies a video filter that rounds the width and height of the output to the nearest even number. This is required because 3GP videos from older mobile phones sometimes have odd pixel dimensions, and libx264 will refuse to encode video with odd-numbered width or height.
output.mkv Defines the output file as an MKV (Matroska) container. FFmpeg infers the container format from the file extension, wrapping the re-encoded H.264 video and AAC audio into an MKV file that supports subtitles, chapters, and multiple audio tracks — features absent from the 3GP format.

Common Use Cases

  • Archiving old mobile phone videos shot on 3G-era handsets into a future-proof format that modern desktop players like VLC and Plex can handle without compatibility issues
  • Preparing 3GP footage captured on a feature phone for editing in desktop video software like DaVinci Resolve or Premiere Pro, which may not support 3GP containers natively
  • Improving audio clarity on a 3GP recording — such as a voice memo or field interview — by transcoding from the heavily compressed mobile audio to a higher-bitrate AAC stream inside MKV
  • Consolidating a collection of 3GP clips downloaded from an older messaging app or MMS into a standardized format for a media library or NAS device
  • Uploading a 3GP video to a platform or tool that accepts MKV but not 3GP, such as certain video editors or local media servers that rely on container whitelists
  • Recovering watchable video from 3GP files received via Bluetooth or infrared file transfer from early 2000s mobile devices, where the tiny file size came at the cost of audio quality

Frequently Asked Questions

Not in a meaningful way — re-encoding cannot recover detail that was discarded when the 3GP was originally compressed on the mobile device. However, the conversion re-encodes with libx264 at CRF 23, which is a high-quality setting that avoids introducing additional visible degradation. The output will look at least as good as the source, and in some cases slightly better if the original 3GP encoder was poorly optimized for quality.
3GP files are designed for 3G mobile networks, so audio is typically encoded at very low bitrates — often 12k to 64k — using AMR or low-bitrate AAC to minimize file size. This tool re-encodes the audio as AAC at 128k inside the MKV container, which is double or more the bitrate of many 3GP audio streams. The improvement is especially noticeable in voice recordings and videos with music.
3GP is tied to the 3GPP mobile standard and is increasingly unsupported by modern software. MKV is an open, royalty-free container maintained independently of any single hardware or network standard, with broad support in desktop players, NAS software, and video editors. MKV also supports subtitles, chapters, and multiple audio tracks, making it far more flexible for long-term storage and future re-use.
The flag '-vf scale=trunc(iw/2)*2:trunc(ih/2)*2' ensures the output video has dimensions divisible by 2. 3GP videos from early mobile phones often have non-standard resolutions — such as 176x144 or other sizes that may be odd numbers after any processing — and H.264 encoding with libx264 requires even dimensions. Without this filter, FFmpeg would throw an error and the conversion would fail. The filter rounds the width and height down to the nearest even number with no visible crop.
Change the '-crf 23' value to control quality. The CRF scale runs from 0 (lossless) to 51 (worst quality), with lower numbers producing larger, higher-quality files. For a 3GP source that was already compressed at a low bitrate, values between 18 and 23 are appropriate — going lower than 18 increases file size without recovering quality that was lost during the original 3GP encoding. You can also raise it to 28–35 if you need a smaller output file.
Yes. On Linux or macOS, you can run: for f in *.3gp; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k -vf scale=trunc(iw/2)*2:trunc(ih/2)*2 "${f%.3gp}.mkv"; done. On Windows PowerShell: Get-ChildItem *.3gp | ForEach-Object { ffmpeg -i $_.FullName -c:v libx264 -c:a aac -crf 23 -b:a 128k -vf scale=trunc(iw/2)*2:trunc(ih/2)*2 ($_.BaseName + '.mkv') }. The browser tool processes one file at a time, so the command-line approach is recommended for large batches, especially since it can also handle files over 1GB.

Technical Notes

3GP containers officially support H.263, MPEG-4 Part 2, and H.264 video alongside AMR, AAC, and sometimes MP3 audio, but real-world 3GP files from consumer handsets vary enormously depending on the manufacturer and carrier. Some files contain AMR-NB audio, which FFmpeg can decode but which produces noticeably narrow-band sound — this is a source limitation, not a conversion artifact. The MKV container places no meaningful restrictions on the encoded content, so the output can hold the H.264 stream and AAC audio without compromise. One key limitation of this conversion is that 3GP does not support subtitles or chapter markers, so no metadata of that kind will be present in the output MKV even though MKV supports them. File size will typically increase compared to the 3GP source, because the original was aggressively compressed for mobile storage and the MKV output targets desktop-quality playback bitrates. If file size is a concern, raising the CRF value (e.g., to 28 or 35) will produce a more compact output while still being a significant quality improvement over the 3GP original.

Related Tools