Convert AVI to 3GP — Free Online Tool
Convert AVI files to 3GP format optimized for 3G mobile devices, re-encoding video with H.264 and audio with AAC at mobile-friendly bitrates. This conversion is ideal for making legacy AVI content playable on older mobile handsets and low-bandwidth streaming scenarios.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your AVI 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
Unlike a simple remux, converting AVI to 3GP requires full re-encoding of both streams. The AVI container often holds video encoded with older codecs like DivX, Xvid, or MPEG-4 Part 2 — none of which are natively supported in 3GP. FFmpeg decodes the original video and re-encodes it using H.264 (libx264), which delivers good visual quality at the low bitrates 3GP targets. The audio, commonly stored as MP3 in AVI files, is transcoded to AAC at 64k — the standard choice for mobile audio efficiency. A scale filter is also applied to ensure frame dimensions are even numbers, a hard requirement for H.264 encoding. The resulting 3GP file is significantly smaller and structured around the MPEG-4 Part 12 container, which mobile devices of the 3G era (and many modern ones) can parse natively.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg binary — the open-source multimedia processing engine that handles all decoding, filtering, and re-encoding for this AVI-to-3GP conversion. |
-i input.avi
|
Specifies the input AVI file. FFmpeg will detect and decode the AVI container's RIFF structure, identifying the internal video and audio streams regardless of which specific codec they use. |
-c:v libx264
|
Re-encodes the video stream using the H.264 codec (libx264), which is the standard video codec for 3GP and provides the compression efficiency needed for mobile playback and low-bandwidth delivery. |
-c:a aac
|
Transcodes the audio stream to AAC, replacing whatever audio codec the source AVI used (commonly MP3 or PCM). AAC is the preferred audio codec for 3GP, offering better compression than MP3 at the low bitrates mobile delivery requires. |
-crf 23
|
Sets the video quality using H.264's Constant Rate Factor at 23, which is the standard default providing a balanced trade-off between visual quality and file size — appropriate for mobile screens where the 3GP content will be viewed. |
-b:a 64k
|
Targets an AAC audio bitrate of 64 kilobits per second, which is the standard default for 3GP audio — low enough to keep file sizes compact for 3G bandwidth constraints while remaining intelligible for speech and acceptable for music. |
-vf scale=trunc(iw/2)*2:trunc(ih/2)*2
|
Applies a video filter that rounds the frame width and height down to the nearest even number. This is mandatory for H.264 encoding in a 3GP container, since libx264 rejects odd pixel dimensions that many AVI source files may have. |
output.3gp
|
Defines the output filename and instructs FFmpeg to write a 3GP container, which uses the MPEG-4 Part 12 file structure designed for mobile multimedia delivery on 3G networks. |
Common Use Cases
- Sharing an old AVI home video with someone who can only play files on a basic 3G feature phone or early Android handset
- Reducing a large AVI recording to a compact 3GP file for storage on a memory-constrained mobile device with limited internal storage
- Preparing AVI video content for streaming or MMS delivery over 3G networks where bandwidth is severely limited
- Converting AVI footage captured by older camcorders or screen recorders into a mobile-compatible format for field playback without internet access
- Archiving or distributing AVI training videos in 3GP for use on embedded or industrial mobile terminals that only support 3GP playback
- Downscaling and compressing AVI content for inclusion in mobile applications or multimedia messages targeting legacy mobile platforms
Frequently Asked Questions
Yes, typically quite dramatically. AVI files are often encoded with moderate-to-high bitrate video and uncompressed or high-bitrate audio, while 3GP is explicitly designed for low-bandwidth mobile delivery. The H.264 encoder at CRF 23 is efficient, and the audio is capped at 64k AAC by default. For a typical AVI file, you can expect the 3GP output to be 50–80% smaller, though the exact reduction depends heavily on the original AVI's codec and bitrate.
FFmpeg can decode virtually any codec found inside an AVI container — including Xvid, DivX, MPEG-4 Part 2, H.264, HuffYUV, and even Motion JPEG. Regardless of the original video codec, the output 3GP will always use H.264 (libx264) because that is the codec the 3GP format requires for broad mobile compatibility. Your AVI's internal codec does not need to match anything — FFmpeg decodes it first, then re-encodes to H.264.
The filter -vf scale=trunc(iw/2)*2:trunc(ih/2)*2 ensures that the output video's width and height are both divisible by 2. H.264 encoding with libx264 requires even-numbered dimensions, and many AVI files — particularly those from older capture devices or cropped recordings — may have odd pixel dimensions. Without this filter, FFmpeg would throw an error and fail the conversion. The formula preserves the original resolution as closely as possible while rounding each dimension down to the nearest even number.
No. AVI can carry multiple audio tracks simultaneously — for example, a director's commentary alongside the main audio — but 3GP only supports a single audio track. During this conversion, FFmpeg will automatically select the default or first audio stream from the AVI file and encode it as AAC at 64k. Any secondary audio tracks present in the AVI will be discarded. If you need a specific non-default audio track, you can modify the FFmpeg command to add -map 0:a:1 (or another track index) before the output filename.
The -crf 23 flag controls video quality using a constant rate factor scale where lower numbers mean higher quality and larger files, and higher numbers mean lower quality and smaller files. For 3GP, a useful range is roughly 23–35: use -crf 18 for near-lossless quality at the cost of file size, or -crf 35 to -crf 40 for very small files suitable for tight bandwidth constraints. To also reduce audio size, increase the -b:a value down — for example, -b:a 32k is the minimum practical AAC bitrate, while -b:a 128k gives noticeably better audio fidelity if file size is less of a concern.
Yes. On Linux or macOS, you can run a shell loop: for f in *.avi; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 64k -vf scale=trunc(iw/2)*2:trunc(ih/2)*2 "${f%.avi}.3gp"; done. On Windows Command Prompt, use: for %f in (*.avi) do ffmpeg -i "%f" -c:v libx264 -c:a aac -crf 23 -b:a 64k -vf scale=trunc(iw/2)*2:trunc(ih/2)*2 "%~nf.3gp". This applies the same conversion settings to every AVI file in the current directory, which is especially useful for this tool's browser-based 1GB limit — files larger than 1GB are better handled in a local batch script.
Technical Notes
3GP is built on the MPEG-4 Part 12 container (a derivative of ISO Base Media File Format), which is fundamentally different from AVI's RIFF-based structure. This means no portion of the original AVI can be stream-copied — everything must be decoded and re-encoded. The H.264 video codec in the output is well-suited to 3GP's original design goals, offering good compression at resolutions typically ranging from QCIF (176×144) to a maximum of around 720p for modern 3GP profiles. Note that 3GP does not support subtitles, chapter markers, or transparency, so any of those elements in the source AVI will be silently dropped. The default AAC audio at 64k is mono-compatible and works on virtually all mobile decoders that support 3GP, though stereo audio is technically supported — the 64k bitrate encodes stereo acceptably but mono at 64k sounds noticeably cleaner. Metadata such as title tags embedded in the AVI may not transfer reliably to 3GP due to differing metadata atom structures between RIFF and MP4-family containers.