Convert 3GP to MP4 — Free Online Tool
Convert 3GP videos from older mobile phones into widely compatible MP4 files using H.264 video and AAC audio. This tool re-encodes the 3GP stream through FFmpeg.wasm entirely in your browser, upgrading the container and boosting audio bitrate from the typical 64k mobile default to 128k for noticeably cleaner sound.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your 3GP 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
3GP files store video using H.264 (or occasionally MPEG-4 Part 2) and audio using AAC or AMR codecs, packaged in a stripped-down container designed for 3G network constraints. During this conversion, the video stream is re-encoded with libx264 at CRF 23, which produces quality roughly equivalent to the original but inside an MP4 container that browsers, smart TVs, and editing software can universally read. The AAC audio is transcoded and resampled to 128k — a significant upgrade over the 32–64k bitrates typical of 3GP recordings. The -movflags +faststart flag reorganizes the MP4 metadata to the front of the file, enabling web streaming without requiring a full download first. Because 3GP's H.264 streams can occasionally use odd pixel dimensions that confuse encoders, the tool applies a scale filter to ensure width and height are both divisible by two, a hard requirement for libx264.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg multimedia processing engine. In this browser tool, FFmpeg runs as a WebAssembly (WASM) binary — the same command works identically on a local desktop installation for files over 1GB. |
-i input.3gp
|
Specifies the input 3GP file. FFmpeg automatically detects the container type and probes the internal video and audio codec streams — typically H.264 video and AAC or AMR audio for 3G-era mobile recordings. |
-c:v libx264
|
Re-encodes the video stream using the libx264 encoder, producing H.264 video inside the MP4 container. Even if the source 3GP already contains H.264, re-encoding allows the codec profile to be upgraded from the restricted Baseline Profile common in mobile recordings to the more efficient Main Profile. |
-c:a aac
|
Encodes the audio stream as AAC using FFmpeg's built-in AAC encoder. This handles both AAC sources from newer 3GP files and transcodes AMR audio — found in many older feature phone recordings — into the AAC format that MP4 players universally expect. |
-crf 23
|
Sets the Constant Rate Factor for the libx264 video encoder to 23, FFmpeg's default quality level. This produces visually faithful output from the original 3GP source without unnecessarily inflating file size — appropriate given that 3GP source quality is already constrained by the mobile recording environment. |
-b:a 128k
|
Sets the AAC audio output bitrate to 128 kilobits per second, a significant step up from the 32–64k bitrates typical of 3GP mobile recordings. This improves perceived audio clarity, particularly for speech recorded in phone video clips, which often sounds thin or muffled at the original mobile bitrate. |
-movflags +faststart
|
Moves the MP4 moov atom (the metadata index) to the beginning of the file after encoding completes. This is essential for web playback — without it, a browser or streaming player must download the entire file before it can begin playing, since the original 3GP placement puts this data at the end. |
output.mp4
|
Defines the output filename and, by its .mp4 extension, tells FFmpeg to write the result in the MPEG-4 Part 14 container format — the standard container for H.264 video and AAC audio on the web, desktop platforms, and modern mobile devices. |
Common Use Cases
- Recovering old video clips recorded on a Nokia, Sony Ericsson, or early Samsung 3G phone and making them playable on a modern computer, tablet, or smart TV
- Uploading a 3GP home video to YouTube, Instagram, or WhatsApp, all of which reject or poorly handle the 3GP container but accept MP4 natively
- Archiving footage from a 2000s or early 2010s mobile phone into a future-proof format before the original device fails or the file becomes unplayable
- Editing a clip shot on an older phone in video software like DaVinci Resolve or Premiere Pro, which may not import 3GP but handles H.264 MP4 without issue
- Sending a video recorded on a feature phone to someone whose device or messaging app cannot play 3GP attachments
- Converting surveillance or dashcam footage saved in 3GP format for use in a court submission or insurance claim that requires standard MP4
Frequently Asked Questions
Not significantly — the original 3GP was recorded under mobile bandwidth and sensor constraints, and no conversion can recover detail that was never captured. The re-encoding at CRF 23 preserves the existing quality faithfully with minimal additional loss. The most noticeable improvement is usually the audio: 3GP files often store audio at 32–64k AAC or even AMR, and this tool re-encodes to 128k AAC, which sounds noticeably cleaner and less tinny.
Some early 3GP files, particularly from Nokia and Motorola feature phones, use AMR-NB (Adaptive Multi-Rate Narrowband) audio rather than AAC. FFmpeg can decode AMR, but it requires a specific build with AMR support compiled in. If the output MP4 is silent, your source file likely contains AMR audio that the WebAssembly build could not decode. Try extracting the audio separately or converting through a desktop FFmpeg build with full codec support.
Yes. These are standard QCIF and QVGA resolutions common to 3G-era phones and are fully valid in MP4. The conversion applies a scale filter (trunc(iw/2)*2:trunc(ih/2)*2) to guarantee even pixel dimensions, which is a hard requirement of the H.264 codec regardless of how small the frame is. The output MP4 will retain the original resolution rather than upscaling it.
Expect the MP4 to be moderately larger — typically 1.2x to 2x the original size. The video re-encodes at a similar quality level (CRF 23 is FFmpeg's default), but the audio bitrate increases substantially from the mobile-optimized 32–64k to 128k AAC, which alone can add meaningful size to short clips. The MP4 container itself also adds slightly more metadata overhead than the lean 3GP structure.
No — 3GP was designed as a minimal mobile format and does not support subtitle tracks, chapter markers, or multiple audio streams. There is nothing in this category to preserve or lose during conversion. However, the output MP4 container does fully support all three features, so you could add subtitles or chapters to the MP4 afterward using tools like FFmpeg or Handbrake.
To adjust video quality, change the -crf value: lower numbers (e.g., 18) mean higher quality and larger files, while higher numbers (e.g., 28) reduce quality and file size. The CRF scale for libx264 runs from 0 (lossless) to 51 (worst). To change audio quality, replace 128k in -b:a 128k with a value like 96k for smaller files or 192k for better fidelity. For example: ffmpeg -i input.3gp -c:v libx264 -c:a aac -crf 18 -b:a 192k -movflags +faststart output.mp4 gives noticeably higher quality at the cost of a larger file.
Technical Notes
3GP is built on the MPEG-4 Part 12 base media file format — the same structural ancestor as MP4 — but with intentionally capped bitrates, restricted codec profiles, and no support for features like chapters or multiple audio tracks. The H.264 streams found in 3GP files are usually encoded at Baseline Profile, which is the most constrained H.264 profile designed for low-power decoders. The libx264 re-encode in this tool defaults to Main Profile, which is universally supported on modern devices and provides better compression efficiency at the same visual quality. AMR-NB audio, found in older 3GP files, is a known compatibility risk in browser-based conversion because FFmpeg.wasm builds may omit the AMR codec due to licensing constraints — if audio is missing, desktop FFmpeg is recommended. The -movflags +faststart flag is particularly meaningful here: original 3GP files from phones typically do not have streaming-optimized metadata placement, so this flag explicitly moves the moov atom to the file's beginning, enabling immediate playback in web players and faster scrubbing on mobile. No transparency or subtitle metadata exists in 3GP to be lost during this conversion.