Convert HEVC to 3G2 — Free Online Tool
Convert HEVC/H.265 video files to 3G2 format, re-encoding the video stream with H.264 (libx264) and AAC audio for compatibility with CDMA mobile networks and legacy 3GPP2 devices. This conversion trades H.265's superior compression efficiency for the broad hardware and network decoder support that 3G2 requires.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your HEVC 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
HEVC (H.265) video cannot be carried natively in a 3G2 container — the 3GPP2 specification targets H.264 (AVC) as its primary video codec. This means the video stream must be fully re-encoded from H.265 to H.264 using libx264, which is a computationally intensive transcoding step rather than a simple remux. The audio stream is simultaneously encoded to AAC at 128k bitrate, the standard codec for 3G2 containers. The -movflags +faststart flag reorganizes the MP4-family metadata so the file can begin playing before it is fully downloaded, which is essential for mobile streaming over CDMA networks. Expect file sizes to be somewhat larger than the source HEVC file at equivalent visual quality, since H.264 is inherently less efficient than H.265 at compression.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg tool, which handles the full pipeline of demuxing the HEVC input, decoding H.265 video, re-encoding to H.264, encoding AAC audio, and muxing everything into the 3G2 container. |
-i input.hevc
|
Specifies the input HEVC file. FFmpeg reads the raw H.265 video stream from this file and prepares it for decoding before the re-encode into H.264 begins. |
-c:v libx264
|
Tells FFmpeg to re-encode the video stream using the libx264 H.264 encoder, which is required because the 3G2 container does not support HEVC/H.265 as a video codec. This is the most computationally expensive step in the conversion. |
-c:a aac
|
Encodes the audio stream to AAC, the standard and most compatible audio codec for the 3G2 container format as specified by 3GPP2. AAC is well-supported across CDMA mobile devices that use this format. |
-crf 23
|
Sets the Constant Rate Factor for the libx264 video encode to 23, which is the default quality level balancing file size and visual fidelity for H.264. Lower values (e.g., 18) produce better quality at larger file sizes; higher values (e.g., 35) reduce file size with more compression artifacts. |
-b:a 128k
|
Sets the AAC audio bitrate to 128 kilobits per second, a standard quality level for mobile audio delivery in 3G2 files. This is appropriate for speech and general music content; increase to 192k if higher audio fidelity is needed. |
-movflags +faststart
|
Moves the MP4-family moov atom (which contains playback metadata) to the beginning of the 3G2 file. This is essential for mobile streaming over CDMA networks, allowing the video to begin playing before the entire file has been downloaded. |
output.3g2
|
Specifies the output filename with the .3g2 extension, which signals to FFmpeg to use the 3GPP2 muxer and produce a file compatible with CDMA mobile devices and 3GPP2 network delivery. |
Common Use Cases
- Sending a video clip recorded on a modern H.265-capable camera to someone using an older CDMA-based feature phone or early smartphone that only supports 3G2 playback
- Archiving footage in 3G2 format for compatibility with legacy CDMA carrier MMS and video-messaging systems that reject H.265 content
- Preparing H.265 drone or action camera footage for upload to older mobile video portals or kiosk systems that were built around 3GPP2 standards
- Downsizing and converting an HEVC video for distribution over a low-bandwidth CDMA data network where 3G2's low-bitrate tuning is advantageous
- Converting H.265 content to 3G2 for use with embedded automotive or industrial media players that support only the 3GPP2 codec profile
- Creating a 3G2-compatible version of an HEVC screencast or tutorial for distribution through a corporate mobile learning platform locked to 3GPP2 delivery
Frequently Asked Questions
The 3G2 container format is defined by the 3GPP2 specification, which mandates H.264 (AVC) as the standard video codec for broad device compatibility — H.265/HEVC is not part of the 3GPP2 codec profile that legacy CDMA devices and networks understand. Because the codec itself is incompatible, the video stream must be fully decoded from H.265 and re-encoded into H.264, meaning this is a true transcode rather than a fast remux. This is why the conversion is CPU-intensive and takes longer than format conversions that only rewrap a stream.
In most cases the 3G2 output will be noticeably larger than the HEVC source at the same visual quality, because H.264 is roughly twice as bitrate-hungry as H.265 to achieve equivalent image quality. The default CRF of 23 used by libx264 in this conversion targets a reasonable quality level, but the resulting file will still be bigger than an H.265 file encoded at its own default CRF 28. If file size is a priority, you can raise the CRF value (e.g., to 28 or 35) in the FFmpeg command to reduce bitrate at the cost of some quality.
Yes — because the video must be decoded from H.265 and re-encoded into H.264, this is a lossy generation loss. The default CRF 23 setting produces visually good quality for most content, but fine details, gradients, and high-motion scenes will suffer slightly compared to the original. The degree of quality loss depends on the complexity of the source material and the CRF value chosen. If the source HEVC was already heavily compressed at a high CRF, the quality loss from this second encode will be more noticeable.
No. While HEVC has strong HDR support (HDR10, Dolby Vision, HLG), the 3G2 container and its required H.264 codec profile do not support HDR metadata in any meaningful way for legacy mobile playback. When this conversion runs, HDR metadata is discarded and the video is tone-mapped to standard dynamic range during the H.264 encode. If HDR preservation is important, 3G2 is not an appropriate target format for your content.
To change video quality, modify the -crf value: lower numbers (e.g., 18) produce higher quality at a larger file size, while higher numbers (e.g., 35) produce smaller files with more compression artifacts. The valid range for libx264 is 0–51. To change audio bitrate, replace the -b:a 128k value with options like 96k for smaller files or 192k for better audio fidelity. For example: ffmpeg -i input.hevc -c:v libx264 -c:a aac -crf 18 -b:a 192k -movflags +faststart output.3g2 would produce higher quality video and audio.
Yes. On Linux or macOS you can use a shell loop: for f in *.hevc; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k -movflags +faststart "${f%.hevc}.3g2"; done. On Windows Command Prompt you can use: for %f in (*.hevc) do ffmpeg -i "%f" -c:v libx264 -c:a aac -crf 23 -b:a 128k -movflags +faststart "%~nf.3g2". The browser-based tool on this page processes one file at a time, so the FFmpeg command is especially useful for batch workflows on files over 1GB.
Technical Notes
The 3G2 format is structurally derived from the MPEG-4 Part 12 base media file format, making it a close relative of MP4 and MOV, but its codec constraints are stricter due to its origins in CDMA mobile network delivery. libx264 encodes the video into the Baseline or Main H.264 profile by default, which maximizes compatibility with 3GPP2 devices but foregoes some advanced H.264 features available in the High profile. The -movflags +faststart flag moves the moov atom to the beginning of the file, which is critical for progressive download playback on mobile networks. Subtitles, chapter markers, and multiple audio tracks are all unsupported in the 3G2 container, so any such streams in the source HEVC file will be silently dropped. If your HEVC source contains a secondary audio track you need, you must specify it explicitly with -map flags before conversion. The 3G2 format does not support transparency, so any alpha channel data (unusual in HEVC but possible) will be composited against black. Because both encode steps (video and audio) run simultaneously in this command, the conversion is CPU-bound and will take longer on complex HEVC sources than simpler remux operations.