Convert AVI to 3G2 — Free Online Tool

Convert AVI files to 3G2 format for CDMA mobile network compatibility, re-encoding the video with H.264 (libx264) and audio with AAC — the standard codec pair for 3GPP2 containers. This tool runs entirely in your browser using FFmpeg.wasm, so no files leave your device.

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

AVI is a legacy Microsoft container that typically wraps video encoded in older codecs like DivX, Xvid, or MJPEG alongside MP3 audio. Converting to 3G2 requires full re-encoding of both streams: the video is transcoded to H.264 using libx264 (the only practical modern codec for 3G2), and the audio is transcoded from whatever codec AVI carries — often MP3 or PCM — to AAC, which is the required audio codec for 3GPP2 compliance. The output also receives the -movflags +faststart flag, which relocates the MP4/3G2 moov atom to the beginning of the file so it can begin playback before the entire file has downloaded, which is critical for mobile streaming over CDMA networks. Because AVI does not support chapters or subtitle tracks, no metadata of that kind is lost. However, if the AVI contains multiple audio tracks, only the first will be carried through since 3G2 does not support multiple audio streams.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary — the underlying engine that powers this browser-based tool via its WebAssembly (FFmpeg.wasm) build. The same command runs identically on a desktop FFmpeg installation for files over 1GB.
-i input.avi Specifies the input file as an AVI container. FFmpeg will probe the AVI to detect the actual video and audio codecs stored inside — which could be anything from DivX to MJPEG — before deciding how to transcode each stream.
-c:v libx264 Re-encodes the video stream using the libx264 H.264 encoder, which is mandatory because 3G2 does not support AVI's typical video codecs (DivX, Xvid, MJPEG, etc.). H.264 is the most capable codec allowed by the 3GPP2 specification.
-c:a aac Transcodes the audio stream to AAC using FFmpeg's native AAC encoder. AAC is the default and most compatible audio codec for 3G2, replacing whatever the AVI source carried — commonly MP3 or PCM — which are not guaranteed to be supported in a 3G2 container.
-crf 23 Sets the Constant Rate Factor for the H.264 encode to 23, which is libx264's default and produces a good general-purpose quality-to-file-size ratio. For 3G2 files destined for low-bandwidth CDMA delivery, increasing this value (e.g., 28–35) will produce smaller files at the cost of visual quality.
-b:a 128k Sets the AAC audio bitrate to 128 kilobits per second, which is a standard quality level for stereo AAC and well within the 3G2 format's 256k audio ceiling. Lower values like 64k are common for voice-only content destined for CDMA networks with constrained bandwidth.
-movflags +faststart Moves the moov atom (the file's playback index) to the beginning of the 3G2 file after encoding completes. This is essential for mobile streaming over CDMA networks — the primary use case for 3G2 — because it allows playback to begin before the full file has been transferred to the device.
output.3g2 Defines the output filename and, through the .3g2 extension, tells FFmpeg to use the 3GPP2 container format (a variant of the ISOBMFF/MP4 family). FFmpeg selects the 3G2 muxer automatically based on this extension.

Common Use Cases

  • Preparing archived AVI footage — such as old home videos or legacy camcorder recordings — for playback on older CDMA feature phones or early 3G smartphones that only support 3G2.
  • Submitting video content to CDMA carrier portals or mobile content distribution platforms that specifically require the 3G2 container format.
  • Reducing file size of AVI recordings for transmission over low-bandwidth CDMA mobile connections, taking advantage of 3G2's emphasis on low-bitrate efficiency.
  • Converting AVI files captured by legacy security cameras or surveillance systems to 3G2 for playback on mobile field devices operating on CDMA networks.
  • Re-packaging AVI video content for use with older mobile video editors or media players on Android devices that support 3G2 but struggle with AVI codec compatibility.
  • Generating an FFmpeg reference command for bulk converting a folder of AVI archive files to 3G2 on a desktop machine when files exceed the 1GB browser limit.

Frequently Asked Questions

Yes — this conversion always involves lossy re-encoding of the video stream, regardless of what codec was used in the original AVI. Even if your AVI contained high-quality MJPEG or lossless video, the output H.264 video in the 3G2 file will introduce some compression. The default CRF value of 23 is a reasonable balance between quality and file size; lower values like 18 produce higher quality but larger files. Additionally, 3G2 only supports lossy audio codecs, so any uncompressed PCM audio in the AVI will be transcoded to AAC.
No. Unlike AVI, the 3G2 container format does not support multiple audio tracks. Only the first audio track from your AVI will be included in the output 3G2 file. If the audio track you need is not the first one, you would need to use FFmpeg's -map flag to explicitly select it before converting. For example, adding -map 0:v:0 -map 0:a:1 would select the second audio track instead.
The -movflags +faststart flag moves the moov atom (the file's index metadata) from the end of the file to the beginning. For 3G2 files — which share the ISOBMFF structure with MP4 — this is essential for mobile streaming, because without it the device must download the entire file before playback can begin. Since 3G2 was specifically designed for streaming over CDMA mobile networks, this flag is considered standard practice and should generally be kept in the command.
To adjust video quality, change the -crf value: lower numbers mean higher quality and larger files (e.g., -crf 18 for near-lossless H.264), while higher numbers like -crf 35 produce smaller, lower-quality files. The valid range for 3G2 is 0–51. For audio, replace the -b:a 128k value with a different bitrate such as 64k for smaller files or 192k for better audio fidelity — note that 3G2 caps audio at 256k. For example: ffmpeg -i input.avi -c:v libx264 -c:a aac -crf 18 -b:a 192k -movflags +faststart output.3g2
Yes. On Linux or macOS, you can loop over AVI files in a directory with: for f in *.avi; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k -movflags +faststart "${f%.avi}.3g2"; done. On Windows Command Prompt, use: for %f in (*.avi) do ffmpeg -i "%f" -c:v libx264 -c:a aac -crf 23 -b:a 128k -movflags +faststart "%~nf.3g2". This is particularly useful for large archives or files over 1GB that exceed the browser tool's limit.
AVI files commonly contain video encoded in DivX, Xvid, MPEG-4 Part 2, MJPEG, or even raw uncompressed formats — none of which are valid video codecs inside a 3G2 container. The 3GPP2 specification limits video to H.263 or H.264, so transcoding to libx264 is mandatory regardless of the source codec. Similarly, audio codecs like PCM or Vorbis that may appear in AVI are not supported in 3G2, making AAC transcoding a requirement rather than an option.

Technical Notes

AVI's internal codec diversity is the primary challenge in this conversion: there is no remuxing shortcut because 3G2's codec allowlist (H.264 for video, AAC for audio) rarely overlaps with what AVI files actually contain in the wild. The libx264 encoder used here produces Baseline or Main Profile H.264 by default, which is appropriate for 3G2's mobile device targets. If you need compatibility with very old CDMA handsets, you may want to explicitly add -profile:v baseline -level 3.0 to the command. The -movflags +faststart post-processing step requires FFmpeg to write a temporary file and rewrite it, which means conversion time is slightly longer than it would be without the flag — but the streaming benefit is worth it for mobile delivery. AVI does not carry subtitle or chapter metadata, so nothing is silently dropped on that front. One notable limitation: if the source AVI contains variable frame rate (VFR) video — common with screen recordings — the 3G2 output may have audio sync issues, and adding -vsync cfr or -fps_mode cfr to the command before the output filename can help enforce a constant frame rate. Maximum audio bitrate in 3G2 is capped at 256k, lower than AVI's effectively unlimited ceiling for uncompressed audio.

Related Tools