Extract Audio from 3G2 to AMR — Free Online Tool

Extract audio from 3G2 mobile video files and convert it to AMR format using the libopencore_amrnb codec — the same speech-optimized encoding used in mobile telephony. This conversion is ideal for salvaging voice recordings or call audio stored in 3G2 containers from CDMA-era mobile devices.

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

During this conversion, FFmpeg discards the 3G2 video stream entirely and re-encodes the audio track from its original codec (typically AAC or MP3) into AMR-NB (Adaptive Multi-Rate Narrowband) using the libopencore_amrnb encoder. Unlike a simple remux, this is a full audio transcode — the AAC or MP3 audio is decoded to raw PCM and then re-encoded into AMR's speech-optimized bitstream at 12,200 bps (AMR's highest quality mode). AMR-NB operates at a fixed 8 kHz sample rate, so any higher-quality audio in the source 3G2 file will be downsampled. The resulting .amr file contains only the speech-encoded audio stream with no video, no metadata container overhead, and a very compact file size.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg program, the open-source multimedia processing engine that powers this conversion both in the browser (via FFmpeg.wasm) and on the desktop command line.
-i input.3g2 Specifies the input file — a 3G2 container developed for CDMA mobile networks, which typically holds H.264 video and AAC or MP3 audio in an ISOM-derived container structure.
-vn Disables video output entirely, telling FFmpeg to ignore the H.264 (or other) video stream from the 3G2 file. This ensures the output is a pure audio-only AMR file with no video track attached.
-c:a libopencore_amrnb Selects the libopencore_amrnb encoder to re-encode the audio into AMR-NB (Adaptive Multi-Rate Narrowband), the speech codec standardized by 3GPP and used in GSM and CDMA mobile voice communications. The audio is fully decoded from its 3G2 source codec (typically AAC) and re-encoded into AMR frames.
-b:a 12200 Sets the AMR-NB codec mode to 12,200 bps, which corresponds to Mode 7 — the highest quality mode available in the AMR-NB specification. This provides the best speech intelligibility within AMR's 8 kHz bandwidth constraint.
output.amr Specifies the output filename with the .amr extension, which triggers FFmpeg to use the AMR raw muxer. The resulting file begins with the standard '#!AMR\n' magic header and contains raw AMR-NB frames, compatible with mobile devices, VoIP platforms, and transcription tools.

Common Use Cases

  • Recovering voice memos or call recordings stored in 3G2 format on old CDMA phones (Verizon, Sprint) and converting them to AMR for playback in telephony systems or voice apps
  • Extracting speech-only audio from 3G2 video clips captured on legacy 3GPP2 mobile devices to use in IVR (Interactive Voice Response) systems that require AMR input
  • Converting 3G2 voicemail attachments received via MMS or email into standard AMR files compatible with telecom platforms
  • Stripping the video from 3G2 interview or field-recording clips to produce compact AMR audio files for archiving spoken-word content at minimal file sizes
  • Preparing audio from 3G2 mobile footage for use in GSM/UMTS-based voice messaging systems that natively support the AMR codec
  • Batch-processing a collection of 3G2 files from a CDMA network device to extract speech audio into AMR for transcription pipelines optimized for telephony-quality audio

Frequently Asked Questions

Yes, this conversion involves a significant quality change that is especially noticeable for non-speech content. The source 3G2 file typically carries AAC audio sampled at 44.1 kHz or 48 kHz, while AMR-NB is constrained to 8 kHz — standard telephone bandwidth. This means frequencies above 4 kHz are lost entirely. AMR is engineered specifically for human speech intelligibility, so voice recordings remain highly understandable, but music or ambient sound will sound thin and muffled. Both codecs are lossy, so this is also a lossy-to-lossy transcode with no way to recover quality lost in the original 3G2 encoding.
AMR-NB uses a codec mode system rather than freeform bitrates. These specific values (in bits per second) correspond to fixed codec modes defined by the 3GPP standard — for example, 4750 bps is Mode 0 and 12200 bps is Mode 7, the highest quality. The codec switches between these modes based on the mode setting you provide, and each mode produces a complete, decodable AMR frame. This is fundamentally different from MP3 or AAC where bitrate is a more continuous sliding scale. The default of 12200 bps used by this tool gives the best AMR speech quality.
Yes. Regardless of whether the 3G2 file's audio track is encoded as AAC or MP3 (both are supported in the 3G2 container), FFmpeg fully decodes it to raw PCM first and then re-encodes it using libopencore_amrnb. The source audio codec does not affect the output — the AMR file will be generated correctly either way. The only impact is a slightly different transcode path internally, which has no meaningful effect on the final .amr file's quality or compatibility.
Replace the value after -b:a in the command with one of the supported AMR-NB mode bitrates: 4750, 5150, 5900, 6700, 7400, 7950, or 10200 (in addition to the default 12200). For example, to use the most compressed mode, run: ffmpeg -i input.3g2 -vn -c:a libopencore_amrnb -b:a 4750 output.amr. Lower modes produce smaller files and are suitable when bandwidth or storage is extremely constrained, but speech intelligibility degrades noticeably below 5900 bps.
AMR-WB (wideband) operates at 16 kHz instead of 8 kHz and would offer noticeably better speech quality, but support depends on your FFmpeg build including libopencore_amrwb and the output being recognized as AMR-WB (typically using the .awb extension or the amrwb muxer). To try it, change the command to: ffmpeg -i input.3g2 -vn -c:a libopencore_amrwb -b:a 23850 output.awb. However, AMR-WB compatibility is narrower than AMR-NB, so check your target platform before switching.
Yes. On Linux or macOS, you can run a shell loop: for f in *.3g2; do ffmpeg -i "$f" -vn -c:a libopencore_amrnb -b:a 12200 "${f%.3g2}.amr"; done. On Windows Command Prompt, use: for %f in (*.3g2) do ffmpeg -i "%f" -vn -c:a libopencore_amrnb -b:a 12200 "%~nf.amr". This is particularly useful for processing large collections of legacy CDMA device recordings, especially files larger than 1 GB that exceed browser-based processing limits.

Technical Notes

The 3G2 container is a close relative of MP4/ISOM developed for 3GPP2 (CDMA networks) and typically carries AAC audio, which is substantially higher fidelity than AMR-NB. When transcoding to AMR-NB via libopencore_amrnb, FFmpeg internally resamples the audio to 8,000 Hz mono — a hard requirement of the AMR-NB specification — so stereo 3G2 files will be mixed down to mono and any frequency content above 4 kHz is discarded. The resulting .amr file uses the AMR raw file format (with the #!AMR header), which is universally supported by mobile telephony infrastructure and apps like VoIP clients and transcription services. Metadata embedded in the 3G2 container (such as creation date or device tags in the 3GPP-specific 'udta' atom) is not carried over to the AMR output, as the AMR raw format has no metadata container. If your 3G2 file has multiple audio tracks, FFmpeg will select the first audio track by default; use -map 0:a:1 to select a different track. Note that libopencore_amrnb must be present in your FFmpeg build — most standard distributions include it, but minimal or custom builds may require recompilation with --enable-libopencore-amrnb.

Related Tools