Extract Audio from 3GP to AAC — Free Online Tool

Extract the AAC audio track from a 3GP mobile video file and save it as a standalone .aac file — with no re-encoding required when the source audio is already AAC, preserving the original quality at a fraction of the file size. Ideal for recovering audio from old mobile recordings originally shot on 3G-era phones.

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 are container formats developed for 3G mobile devices, and they almost universally store audio as AAC (the default audio codec for 3GP). When you extract audio from a 3GP file to AAC, the tool discards the video stream entirely and writes the audio data into a raw AAC container. Because both the source and destination use the AAC codec, the audio is transcoded using FFmpeg's built-in AAC encoder at 128k bitrate — producing a clean, widely compatible .aac file. The video data is never decoded or processed, making this conversion fast even on large files.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary — in this tool, that is FFmpeg.wasm running entirely inside your browser via WebAssembly, with no server involved. On your desktop, this would call your locally installed FFmpeg executable.
-i input.3gp Specifies the input file — a 3GP multimedia container typically containing a low-bitrate H.264 or MPEG-4 video stream and an AAC audio stream, as defined by the 3GPP standard for mobile devices.
-vn Disables video output entirely, telling FFmpeg to skip the video stream in the 3GP container and process only the audio. Without this flag, FFmpeg would attempt to include a video stream in the output, which is not valid for a raw AAC file.
-c:a aac Sets the audio codec to AAC using FFmpeg's built-in native encoder. This encodes the extracted 3GP audio — which may originally be low-bitrate AAC-LC — into a clean AAC bitstream suitable for the output file.
-b:a 128k Sets the AAC audio output bitrate to 128 kilobits per second, which is the standard quality target for AAC audio. This is likely higher than the original 3GP audio bitrate, but produces a widely compatible output; you can lower this to 64k or 96k if you want the file size to more closely reflect the original mobile recording quality.
output.aac Specifies the output filename with the .aac extension, which tells FFmpeg to write an ADTS-format AAC bitstream — a raw, headerless audio file directly playable by iOS, Android, modern browsers, and most desktop media players without any additional container wrapping.

Common Use Cases

  • Recover voice memos or phone calls recorded as 3GP videos on older Nokia, Samsung, or Sony Ericsson handsets and save them as playable AAC audio files
  • Extract the audio from a 3GP video MMS message received on a mobile phone to listen to it on a device that doesn't support 3GP playback
  • Pull the audio commentary from a 3GP sports clip or home video shot on a 3G phone to use in a podcast or audio project
  • Strip audio from a 3GP file to reduce storage size when you only need the spoken content and the video is irrelevant
  • Convert 3GP audio to AAC for playback in iTunes, Apple Music, or on iOS devices, which natively support .aac but may not recognize .3gp
  • Archive spoken audio from old 3GP mobile recordings into a more future-proof and universally supported audio format before the original device or software becomes unavailable

Frequently Asked Questions

It depends on the source bitrate. 3GP files were designed for low-bandwidth 3G networks, so their embedded AAC audio is typically encoded at very low bitrates — often 32k or 64k. Since FFmpeg re-encodes the audio to AAC at 128k by default, the output will not exceed the quality of the original; you cannot recover detail that was lost during the initial 3GP encoding. However, 128k AAC is generally sufficient for speech and most mobile recordings, and the output will be cleanly encoded without additional generational loss.
The output AAC file is encoded at 128k bitrate by default, which is likely higher than the original 3GP audio track (often 32k–64k in low-bandwidth mobile recordings). This means the output file may actually be larger than the audio data inside the original 3GP — not because of added content, but because more bits per second are allocated. If you want a smaller file, you can lower the -b:a value in the FFmpeg command to 64k or 96k to better match the original source quality.
3GP files can carry metadata like title, author, and creation date in their moov atom, but raw AAC files have very limited metadata support compared to containers like M4A or MP4. FFmpeg will attempt to pass through basic metadata tags, but geolocation data and device-specific fields embedded in the 3GP container are typically dropped. If metadata preservation is important to you, consider outputting to M4A instead, which wraps AAC audio in an MPEG-4 container with full tag support.
Yes — modify the -b:a flag value in the command. For example, replacing 128k with 192k or 256k will allocate more bits to the audio encoder, but keep in mind that the source 3GP audio was recorded at a low bitrate, so the perceptible improvement will be minimal. A more useful adjustment is to lower the bitrate to 64k or 96k to match the likely quality of the original and produce a smaller output file. The full range of supported AAC output bitrates runs from 64k up to 320k.
Yes. On Linux or macOS, you can run a shell loop: for f in *.3gp; do ffmpeg -i "$f" -vn -c:a aac -b:a 128k "${f%.3gp}.aac"; done. On Windows Command Prompt, use: for %f in (*.3gp) do ffmpeg -i "%f" -vn -c:a aac -b:a 128k "%~nf.aac". This processes every .3gp file in the current directory and outputs a matching .aac file for each. This is especially useful if you have a folder of old mobile recordings to archive.
Some 3GP files were recorded with AMR-NB or AMR-WB audio codecs rather than AAC — particularly older feature phones from the early 2000s. If your 3GP uses AMR audio, the command will still attempt to transcode it to AAC, but FFmpeg must first decode the AMR stream. If FFmpeg reports an error finding an audio stream, the file may have video-only content, be corrupted, or use an uncommon mobile codec variant. You can inspect the file's actual codecs by running ffmpeg -i input.3gp in a terminal before attempting extraction.

Technical Notes

3GP audio is most commonly encoded as AAC-LC (Low Complexity) at bitrates between 32k and 64k, reflecting the bandwidth and storage constraints of 3G mobile networks. The FFmpeg command uses the native aac encoder (not libfdk_aac) to re-encode the audio at 128k bitrate — a deliberate choice since libfdk_aac is not included in most prebuilt FFmpeg distributions including FFmpeg.wasm. The -vn flag is critical here: it instructs FFmpeg to ignore all video streams, preventing the tool from attempting to decode the H.264 or MPEG-4 video track embedded in the 3GP container. Raw .aac output is a valid ADTS (Audio Data Transport Stream) bitstream, which is directly playable by most modern media players, browsers, and mobile devices. Note that raw AAC files do not support chapter markers, embedded cover art, or rich metadata — limitations inherited from the ADTS format rather than the AAC codec itself. If you need those features, wrapping the same audio in an M4A container (which is MPEG-4 audio, essentially AAC in a QuickTime wrapper) would be the better choice. File sizes will vary significantly depending on the source 3GP's audio duration and original encoding quality.

Related Tools