Convert 3G2 to 3GPP — Free Online Tool
Convert 3G2 files (the CDMA-era mobile video format from 3GPP2) to 3GPP, the GSM-network counterpart standardized by the Third Generation Partnership Project. Both formats share H.264/AAC codec support, so this conversion is primarily a container re-wrap with minor audio bitrate adjustment for 3G network optimization.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your 3G2 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
3G2 and 3GPP are closely related mobile video containers — both descended from the MPEG-4 Part 12 specification and both natively support H.264 video and AAC audio. During this conversion, the H.264 video stream is re-encoded using libx264 at CRF 23, and the AAC audio is re-encoded at 64k bitrate, which reflects the lower-bandwidth defaults typical of 3GPP's design for 3G mobile networks. The -movflags +faststart flag reorganizes the MP4-family metadata (the 'moov' atom) to the beginning of the output file, enabling progressive playback on mobile devices before the full file is downloaded. Because both containers are so structurally similar, the conversion is relatively fast and the quality loss is minimal at default settings.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg binary. When running in the browser, this executes via FFmpeg.wasm (WebAssembly), which is a fully compiled port of FFmpeg running locally in your browser — no files are sent to any server. |
-i input.3g2
|
Specifies the input file in 3G2 format — the CDMA mobile container developed by 3GPP2. FFmpeg reads the file's 'ftyp' box and demuxes the H.264 video and AAC audio streams for processing. |
-c:v libx264
|
Re-encodes the video stream using the libx264 encoder, producing H.264 video output compatible with 3GPP containers. This ensures the output meets 3GPP's H.264 Baseline/Main profile expectations for mobile device compatibility. |
-c:a aac
|
Re-encodes the audio stream using FFmpeg's native AAC encoder, which is the standard audio codec for 3GPP files. AAC is more efficient than MP3 at low bitrates, making it ideal for the 64k default used in mobile 3GPP delivery. |
-crf 23
|
Sets the Constant Rate Factor for libx264 to 23, the default quality level for 3GPP output in this tool. CRF 23 balances file size and visual quality well for mobile video content, though lower values (closer to 18) can be used for higher fidelity at the cost of larger files. |
-b:a 64k
|
Sets the AAC audio bitrate to 64 kilobits per second, which is the 3GPP-optimized default reflecting the format's design for 3G network bandwidth constraints. This is lower than the 128k default used in 3G2, resulting in a smaller output file suited for mobile streaming. |
-movflags +faststart
|
Moves the MP4-family 'moov' metadata atom to the beginning of the 3GPP output file. This is critical for mobile streaming scenarios — it allows a device to start playing the video before the entire file has been downloaded, which is exactly the use case 3GPP was designed for. |
output.3gp
|
Specifies the output filename with the .3gp extension, which signals FFmpeg to write a 3GPP-branded container. The .3gp extension is recognized by mobile devices, media servers, and telecom platforms expecting 3GPP-standard files. |
Common Use Cases
- Re-packaging CDMA carrier video content (originally recorded on Verizon or Sprint 3G2 phones) for playback on GSM-network devices and platforms that require strict 3GPP compliance
- Preparing legacy mobile video archives from 3GPP2-era handsets for submission to media systems or CMS platforms that accept 3GPP but not 3G2
- Reducing audio bitrate from a 128k 3G2 file down to 64k for distribution over constrained 3G bandwidth environments where file size is a priority
- Converting 3G2 video files captured on older CDMA feature phones for upload to telecom operator portals or IPTV systems standardized around the 3GPP container
- Standardizing a mixed collection of 3G2 and 3GPP mobile video files into a single 3GPP format for archival or batch processing consistency
- Enabling playback on older Nokia, Sony Ericsson, or other GSM handsets that support 3GPP but do not recognize the 3G2 extension
Frequently Asked Questions
3G2 (.3g2) was developed by the 3GPP2 consortium for CDMA networks (used by carriers like Verizon and Sprint), while 3GPP (.3gp) was standardized by 3GPP for GSM/UMTS networks (used by carriers like AT&T and T-Mobile). Both formats are built on the same MPEG-4 Part 12 container foundation and support the same H.264/AAC codec pair, but they have different brand identifiers in the file's 'ftyp' box. The re-encoding in this command is primarily to apply 3GPP-specific default quality settings — particularly the lower 64k audio bitrate — rather than because codec transcoding is strictly required.
CRF 23 is libx264's default setting and produces visually good quality for mobile video content. Since the original 3G2 file already used lossy H.264 encoding, re-encoding introduces a second generation of compression loss. For original files that were encoded at high quality (low CRF or high bitrate), CRF 23 should preserve most perceptible quality. If you want to minimize quality loss, you can lower the CRF value (e.g., -crf 18) in the FFmpeg command, accepting a larger output file in return.
3GPP was explicitly designed for 3G mobile network transmission, where bandwidth is limited and file size matters enormously. The 64k default reflects the format's intended deployment environment — mobile streaming over constrained connections. If your use case involves storing or playing back the file locally on a modern device, you can safely increase the audio bitrate to 96k or 128k by modifying the -b:a flag in the command, which will improve audio fidelity at the cost of a slightly larger file.
Basic container-level metadata such as creation date, title tags, and similar MP4-family atoms may be carried over during the conversion. However, 3G2 does not support subtitles, chapters, or multiple audio tracks, and neither does 3GPP — so no data of those types is at risk of being dropped. GPS location metadata or proprietary carrier tags embedded by specific handsets may or may not be preserved depending on how they were stored in the source file.
To adjust video quality, change the -crf value: lower numbers (e.g., 18) produce higher quality and larger files, while higher numbers (e.g., 28) produce smaller files with more compression. The valid 3GPP range for this tool is 18–28. To adjust audio quality, change the -b:a value to any of 32k, 48k, 64k, 96k, or 128k. For example, a higher-quality command would look like: ffmpeg -i input.3g2 -c:v libx264 -c:a aac -crf 18 -b:a 96k -movflags +faststart output.3gp
Yes. On Linux or macOS, you can use a shell loop: for f in *.3g2; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 64k -movflags +faststart "${f%.3g2}.3gp"; done. On Windows Command Prompt, use: for %f in (*.3g2) do ffmpeg -i "%f" -c:v libx264 -c:a aac -crf 23 -b:a 64k -movflags +faststart "%~nf.3gp". The browser-based tool processes one file at a time, but the displayed FFmpeg command is ideal for bulk desktop processing of large collections.
Technical Notes
3G2 and 3GPP share the same codec matrix — both support libx264 for video and AAC or MP3 for audio — because they descend from the same MPEG-4 Part 12 specification. The key technical distinction is the 'ftyp' brand atom in the container header: 3G2 files use '3g2a' or '3g2b' brands, while 3GPP files use '3gp4', '3gp5', or '3gp6'. Neither format supports transparency, subtitles, chapters, or multiple audio tracks, so no feature degradation occurs in this conversion. The -movflags +faststart flag is particularly important for 3GPP files intended for streaming, as it moves the moov atom ahead of the media data, allowing mobile devices and players to begin playback immediately. Output file sizes will typically be slightly smaller than the source due to the reduced 64k audio bitrate default. If the source 3G2 file used MJPEG video instead of H.264, the output will re-encode to H.264, which is generally far more efficient for mobile video. Note that very old 3G-era devices may cap supported resolution at 176×144 (QCIF) or 320×240 (QVGA); this tool does not automatically resize video, so if targeting such hardware you may need to add -vf scale=176:144 or similar to the command.