Convert 3GP to AVI — Free Online Tool

Convert 3GP mobile video files to AVI format, re-encoding the video with H.264 (libx264) and transcoding the audio from AAC to MP3 (libmp3lame). This is ideal for bringing legacy 3G phone footage into a widely compatible desktop container that works with older Windows software and media players.

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 store video typically encoded with H.264 and audio in AAC — a codec pairing optimized for low-bandwidth mobile networks and the constrained storage of early smartphones. During conversion to AVI, both streams must be fully re-encoded: the video is re-encoded using libx264 with a CRF of 23 (a visually near-lossless quality level), and the audio is transcoded from AAC to MP3 using the LAME encoder at 128k bitrate, since AVI's default audio codec is MP3 rather than AAC. The 3GP container's mobile-specific metadata and structure are discarded, and the resulting AVI uses Microsoft's interleaved audio/video layout. Because this is a full transcode rather than a remux, there is a small generation of quality loss, though at CRF 23 it is generally imperceptible.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg tool. In this browser-based tool, FFmpeg runs as a WebAssembly binary entirely within your browser — no data is sent to a server. The same command can be run locally on your desktop if you have FFmpeg installed, which is recommended for files over 1GB.
-i input.3gp Specifies the input file — a 3GP container, the mobile multimedia format used by 3G-era phones. FFmpeg reads the file's H.264 video and AAC audio streams from within the 3GP wrapper for re-encoding.
-c:v libx264 Sets the video encoder to libx264, which re-encodes the H.264 video stream from the 3GP source. While both the input and output use H.264, a full transcode is performed here to ensure the video conforms cleanly to the AVI container's expectations rather than simply remuxing.
-c:a libmp3lame Transcodes the audio from the AAC track in the 3GP file to MP3 using the LAME encoder — necessary because MP3 is the standard and most compatible audio codec for AVI, whereas AAC in AVI results in poor compatibility with older Windows software and media players.
-crf 23 Sets the Constant Rate Factor for libx264 video encoding to 23, which is the default quality level offering a strong balance between visual fidelity and file size. Given that 3GP source footage is already low-resolution and compressed, this setting preserves the existing quality without unnecessary bloat.
-b:a 128k Sets the MP3 audio output bitrate to 128 kilobits per second. This is the standard quality tier for MP3 and is well above the typical audio bitrates found in 3GP files (often 12k–32k), meaning the audio quality is effectively limited by the original 3GP source rather than this setting.
output.avi Defines the output file as an AVI container. FFmpeg infers from the .avi extension that it should use Microsoft's Audio Video Interleave muxer, which interleaves the re-encoded H.264 video and MP3 audio streams into the legacy AVI format.

Common Use Cases

  • Importing old footage from a 3G-era Nokia, Samsung, or early Android phone into Windows Movie Maker or other legacy Windows video editors that only accept AVI input.
  • Archiving home videos originally recorded on early-2000s mobile phones into AVI, a format that remains playable on virtually any Windows PC without additional codec packs.
  • Preparing 3GP clips for use in older broadcast or industrial video systems that accept AVI but cannot parse the 3GP container or its AAC audio track.
  • Converting 3GP video evidence or documentation files into AVI so they can be reviewed in legacy court or law enforcement software tied to Windows-era AVI playback.
  • Bringing together a batch of old 3GP clips into a consistent AVI format before editing them in vintage non-linear editing software like VirtualDub, which has native AVI support.
  • Re-encoding low-bitrate 3GP content at a controlled CRF quality level to produce a cleaner, less compressed AVI master for further downstream editing or archival.

Frequently Asked Questions

The conversion will not improve the original video quality — the 3GP source was recorded at low resolution and bitrate for mobile use, and re-encoding cannot recover detail that was never there. At CRF 23 the libx264 encoder preserves what quality exists in the source very faithfully, but the resulting AVI will reflect the inherent limitations of the original 3GP footage. If the source looks pixelated or blocky, the AVI output will too.
AVI is a legacy Microsoft container with limited native support for AAC audio. While it is technically possible to pack AAC into an AVI wrapper, compatibility with older software and devices becomes unreliable. The standard and safest choice for AVI audio is MP3, encoded here using the high-quality LAME encoder at 128k. This transcode introduces a very minor second-generation quality loss, but 128k MP3 is transparent for typical voice and music content found in 3GP files.
3GP was engineered specifically for 3G mobile networks — it uses aggressive compression, low resolutions, and low bitrates to minimize file size for transmission and storage on early phones. AVI with libx264 at CRF 23 targets a higher quality level and uses a less restrictive container overhead, so the output file is naturally larger even though no visual quality has been added. The AVI file is simply storing the same content at a higher bitrate than the original 3GP allowed.
Neither 3GP nor AVI supports subtitles, chapters, or multiple audio tracks in any meaningful way for standard playback, so nothing is lost in that regard during this conversion. The 3GP container's mobile-specific metadata (such as device information or GPS tags sometimes embedded by phones) will not be carried over to the AVI output, as AVI has no standardized fields for that data.
Adjust the -crf value to control video quality. CRF 23 is the default and produces a good balance of quality and file size. Lower values like -crf 18 produce higher quality and larger files, while higher values like -crf 28 or -crf 35 reduce file size at the cost of more visible compression. For archival purposes from a low-quality 3GP source, CRF 20 is a reasonable choice. To change audio bitrate, replace 128k in -b:a 128k with values like 96k or 192k.
Yes. On Linux or macOS you can use a shell loop: 'for f in *.3gp; do ffmpeg -i "$f" -c:v libx264 -c:a libmp3lame -crf 23 -b:a 128k "${f%.3gp}.avi"; done'. On Windows Command Prompt, use: 'for %f in (*.3gp) do ffmpeg -i "%f" -c:v libx264 -c:a libmp3lame -crf 23 -b:a 128k "%~nf.avi"'. This processes each 3GP file in the current directory and outputs a matching AVI file with the same base name.

Technical Notes

3GP files from early mobile phones are typically encoded at resolutions like 176x144 (QCIF) or 320x240 (QVGA), and the H.264 profiles used are constrained Baseline — the simplest H.264 level designed for mobile decoders. When re-encoding to AVI with libx264 at CRF 23, the encoder is free to use a higher H.264 profile (Main or High), which produces more efficient compression at the same quality level. The special scale filter used for 3GP inputs ('scale=trunc(iw/2)*2:trunc(ih/2)*2') ensures frame dimensions are even numbers, which H.264 requires — this is especially relevant for odd-resolution 3GP files from older phones. AVI does not support transparency (alpha channels), but since 3GP also lacks this feature, no data is lost. AVI's interleaved structure means audio and video packets are woven together in the file, which is fine for local playback but makes the format unsuitable for HTTP streaming — a notable regression from 3GP's streaming capability. MP3 audio in AVI is stored using the MPEG audio layer 3 codec (codec tag 0x0055), which is universally recognized by Windows-era software. One known limitation is that AVI has a theoretical 2GB file size cap in its original specification, though modern implementations using OpenDML extensions support larger files — relevant if converting long 3GP recordings.

Related Tools