Convert 3G2 to AMR — Free Online Tool
Convert 3G2 video files to AMR audio by extracting and re-encoding the audio stream using the libopencore_amrnb codec — a narrowband speech codec originally developed for 3GPP mobile telephony. This is ideal for isolating voice content from 3G2 mobile video recordings and producing ultra-compact AMR files optimized for speech playback on mobile devices.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your 3G2 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
During this conversion, FFmpeg discards the video stream entirely from the 3G2 container and re-encodes the audio track — typically AAC from the 3G2 source — into AMR-NB (Adaptive Multi-Rate Narrowband) format using the libopencore_amrnb codec. AMR-NB is not a general-purpose audio format; it is a speech codec that operates at fixed bitrates ranging from 4,750 to 12,200 bits per second. The default output bitrate of 12,200 bps corresponds to the AMR mode 7 (the highest quality AMR-NB mode), which best preserves voice intelligibility. Because both the input and output formats are lossy, this is a lossy-to-lossy transcode: audio quality cannot exceed what was captured in the original 3G2 file, and the narrow frequency response of AMR-NB (optimized for the 300–3,400 Hz speech band) means music or ambient sound will sound significantly degraded compared to the source.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg multimedia processing tool. In this browser-based tool, FFmpeg runs locally via WebAssembly (ffmpeg.wasm) — no data leaves your device. |
-i input.3g2
|
Specifies the input file in 3G2 format — a CDMA-era mobile container typically holding H.264 video and AAC audio. FFmpeg reads both streams but only the audio will be used in the output. |
-c:a libopencore_amrnb
|
Sets the audio encoder to libopencore_amrnb, the open-source implementation of the AMR Narrowband codec. This re-encodes the AAC audio from the 3G2 file into AMR-NB bitstream format, downmixing to mono and resampling to 8,000 Hz in the process. |
-b:a 12200
|
Sets the AMR-NB bitrate to 12,200 bits per second, which corresponds to AMR mode 7 — the highest quality mode available in AMR-NB. This value must be one of the eight fixed AMR-NB mode rates; arbitrary values are not accepted by the encoder. |
output.amr
|
Specifies the output filename with the .amr extension, which triggers FFmpeg to write a raw AMR-NB bitstream file. This format contains only the encoded speech audio with no video, no metadata container, and no additional tracks. |
Common Use Cases
- Extracting voice memos or spoken recordings from 3G2 videos captured on older CDMA phones (e.g., Verizon or Sprint-era handsets) to store them in the native AMR format used by feature phones and early smartphones.
- Preparing voicemail or voice note content recorded as 3G2 video for upload to mobile telephony systems or PBX platforms that accept AMR audio files.
- Stripping the video from a 3G2 call recording or video message to produce a lightweight AMR file for archiving voice content with minimal storage footprint.
- Converting 3G2 speech recordings into AMR for compatibility with older Nokia, Sony Ericsson, or Motorola handsets that natively play back .amr files but do not support 3G2 containers.
- Reducing file size of spoken-word 3G2 recordings to the absolute minimum for transmission over low-bandwidth SMS gateways or messaging systems that accept AMR audio attachments.
- Feeding voice audio extracted from 3G2 footage into speech recognition pipelines or telephony testing tools that expect AMR-formatted input.
Frequently Asked Questions
No — AMR-NB is specifically engineered to encode human speech in the 300–3,400 Hz frequency band, so music, background noise, or broadband audio from a 3G2 file will sound muffled, distorted, and heavily degraded. AMR achieves its very low bitrates (down to 4,750 bps) by aggressively discarding frequencies outside the speech range. If your 3G2 file contains music or general audio, a format like MP3 or AAC is far more appropriate.
AMR-NB was designed for GSM and CDMA voice telephony, where bandwidth is extremely constrained. Its eight fixed bitrate modes (4,750 to 12,200 bps) represent the codec's complete quality range — even the highest mode at 12,200 bps is far below a typical MP3 at 128,000 bps. This extreme compression is acceptable only for speech because the human voice fits within a narrow frequency band that AMR is tuned to preserve. The default of 12,200 bps used by this tool is the highest and best-quality AMR-NB mode.
Replace the value after -b:a with one of the valid AMR-NB mode bitrates: 4750, 5150, 5900, 6700, 7400, 7950, 10200, or 12200 (in bits per second, not kilobits). For example, to use mode 4 (7,400 bps), your command becomes: ffmpeg -i input.3g2 -c:a libopencore_amrnb -b:a 7400 output.amr. Note that AMR-NB only accepts these exact values — passing an arbitrary bitrate will cause FFmpeg to snap to the nearest valid mode or return an error.
It is fully re-encoded, not remuxed. AAC and AMR-NB are completely different codecs with incompatible bitstream formats — the AAC audio from the 3G2 container must be decoded to raw PCM and then re-encoded by libopencore_amrnb into the AMR bitstream. This is a transcoding operation, which means generation loss applies: you are compressing already-compressed audio a second time.
Yes — AMR-WB (libopencore_amrwb) covers a wider frequency range (50–7,000 Hz) and delivers noticeably better speech quality than AMR-NB. To use it, change the codec flag in the command to -c:a libopencore_amrwb and update the output filename to output.awb or output.amr. Note that AMR-WB has its own fixed bitrate set (starting at 6,600 bps up to 23,850 bps) and may have slightly less compatibility with older feature phones than AMR-NB.
The video stream is silently dropped — FFmpeg outputs only the audio track into the AMR file. AMR is a raw audio bitstream format with no container structure for metadata fields like title, artist, or creation date, so any metadata embedded in the 3G2 file (including GPS coordinates or device info sometimes stored by mobile cameras) is not carried over to the output. If preserving metadata matters, you should extract it separately before converting.
Technical Notes
AMR (file extension .amr) stores raw AMR-NB bitstream data with a minimal magic-number header — it is not a container format in the way 3G2 or MP4 are, meaning it can hold only a single mono audio track with a fixed sample rate of 8,000 Hz. This is a critical constraint: if the 3G2 source contains stereo AAC audio, FFmpeg will automatically downmix to mono before encoding with libopencore_amrnb, and the sample rate will be resampled to 8 kHz regardless of the original. The resulting file will be extremely small — a one-minute AMR-NB file at 12,200 bps is approximately 91 KB — but the audio bandwidth is strictly limited to telephone-quality speech. The libopencore_amrnb library used here is derived from the 3GPP reference implementation and is widely compatible with mobile devices and telephony systems. One known limitation is that FFmpeg's AMR-NB encoder does not support Discontinuous Transmission (DTX) mode through this interface, which in commercial telephony systems is used to further reduce bitrate during silence. If you need to process files larger than 1 GB, the displayed FFmpeg command can be run locally on any desktop with FFmpeg installed — the command is identical whether run in the browser via WebAssembly or natively.