Extract Audio from 3GP to WEBA — Free Online Tool

Extract audio from 3GP mobile video files and convert it to WEBA format, encoding the audio stream with the Opus codec for efficient, high-quality web playback. This is ideal for rescuing audio recorded on older 3G-era mobile phones and bringing it into a modern, browser-native format.

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 typically carry AAC or MP3 audio alongside a video stream optimized for low-bandwidth mobile networks. During this conversion, FFmpeg discards the video stream entirely and re-encodes the audio — originally compressed as AAC or MP3 inside the 3GP container — into Opus audio wrapped in a WebM-based WEBA container. Because 3GP's AAC audio and WEBA's Opus audio use different codecs, a full audio transcode is required rather than a simple remux. The Opus encoder is highly efficient at lower bitrates, meaning the resulting WEBA file can sound comparable to or better than the original 3GP audio despite being formatted for web delivery. The default output bitrate is 128k, which is a comfortable step up from the 3GP source's typical 64k mobile-optimized audio.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary — in the browser this runs as a WebAssembly module via FFmpeg.wasm, and on the desktop this calls your locally installed FFmpeg executable. The rest of the command is identical in both environments.
-i input.3gp Specifies the input file, a 3GP container typically produced by 3G-era mobile phones. FFmpeg will probe this file to detect its internal streams — usually an H.264 or MPEG-4 video track and an AAC or MP3 audio track.
-vn Disables video output, telling FFmpeg to ignore the video stream from the 3GP file entirely. Since this is an audio extraction tool, the mobile video track is discarded and only the audio is processed.
-c:a libopus Sets the audio encoder to libopus, which transcodes the 3GP source audio (typically AAC) into the Opus codec. Opus is the modern, royalty-free codec native to the WebM/WEBA ecosystem and offers superior compression efficiency compared to the AAC audio found in 3GP files.
-b:a 128k Sets the Opus audio bitrate to 128 kilobits per second. This is a significant quality upgrade from the 64k default bitrate common in 3GP mobile recordings, and Opus at 128k produces transparent or near-transparent audio for most voice and music content.
-vn A second -vn flag applied as part of the WEBA output format's required parameters. While redundant with the earlier -vn, it reinforces that no video stream should be written to the output container and is harmlessly ignored by FFmpeg when the video stream has already been suppressed.
output.weba The output filename, using the .weba extension which signals an audio-only WebM container. FFmpeg infers the WebM container format from this extension and writes the Opus-encoded audio stream into it, producing a file natively playable in modern browsers without plugins.

Common Use Cases

  • Recovering voice memos or phone call recordings saved in 3GP from an old Android or Nokia device and publishing them as web-embeddable audio clips
  • Extracting audio from 3GP video messages sent via MMS or early messaging apps to use as standalone audio for web players
  • Converting mobile-recorded 3GP interviews or field recordings into WEBA for embedding directly in a browser without relying on third-party players
  • Stripping the video from 3GP files recorded on 3G-era feature phones to create lightweight audio archives that load quickly in modern browsers
  • Preparing audio from legacy 3GP mobile content for use in web applications that leverage the WebM ecosystem's low-latency streaming capabilities
  • Batch-extracting audio from a library of old 3GP video clips to create a podcast or audio documentary using source material from early smartphone-era recordings

Frequently Asked Questions

Yes, some quality loss occurs because this is a transcode from one lossy codec (typically AAC inside 3GP) to another lossy codec (Opus inside WEBA). However, because the original 3GP audio was already encoded at a low mobile-optimized bitrate — often 64k or lower — the default 128k Opus output in WEBA will frequently sound noticeably cleaner and more detailed than the source. Opus is an exceptionally efficient modern codec, so the generational loss is minimal at 128k and above.
WEBA is essentially a WebM container that holds only an audio stream — it uses the .weba file extension to signal that it contains no video. The underlying container format is identical to WebM, but renaming it .weba is a convention that helps browsers and media players recognize it as audio-only content. Most modern browsers, including Chrome and Firefox, can play .weba files natively without any plugin.
FFmpeg will attempt to copy compatible metadata tags from the 3GP source into the WEBA output, but the 3GP format uses a limited metadata scheme based on the MPEG-4 container, and not all tags map cleanly to WebM's Matroska-derived metadata structure. Common tags like title and artist may survive, but device-specific metadata such as GPS coordinates or camera model embedded by mobile phones is typically lost. If metadata fidelity is critical, you can explicitly copy tags using the -map_metadata 0 flag added to the command.
Yes, that is exactly the intended use. The browser-based tool is limited to files up to 1GB because of WebAssembly memory constraints. For larger 3GP files — such as long recordings from a mobile device — you can copy the command shown on this page, install FFmpeg on your desktop, and run it directly in a terminal with no file size limit. The command is identical to what runs in your browser, so the output will be the same.
Replace the -b:a 128k portion of the command with a lower value, such as -b:a 64k or -b:a 96k. Opus performs remarkably well at low bitrates — 64k Opus often matches the perceptual quality of 128k MP3 — so even reducing to 64k will likely produce acceptable results for voice content extracted from 3GP mobile recordings. For music or high-fidelity audio, 128k to 192k is recommended.
Yes, replace -c:a libopus with -c:a libvorbis in the command. Vorbis is the older of the two WebM-compatible audio codecs and is still widely supported, but Opus offers better quality at equivalent bitrates and lower latency, making it the preferred choice for nearly all new WEBA content. Vorbis might be worth choosing if you are targeting a specific legacy player or web application known not to support Opus.

Technical Notes

3GP was designed by the 3GPP consortium for transmission over constrained 3G mobile networks, and its audio streams reflect that heritage — AAC-LC at 64k or below is common, sometimes with mono channel audio. The WEBA format, by contrast, targets modern web delivery and supports Opus audio up to 510k stereo, with excellent performance from 64k upward. Because this conversion re-encodes the audio rather than remuxing it, FFmpeg must fully decode the source AAC stream and re-encode it as Opus, which is a CPU-intensive step done entirely in your browser via WebAssembly. The -vn flag appears twice in the resolved command — once before the output to suppress the video stream, and once as part of the WEBA output format's required flags — this is harmless redundancy and FFmpeg will handle it correctly. One known limitation is that 3GP files with multiple audio tracks (rare but possible in later 3GPP spec versions) will only have their first audio track extracted by default; use -map 0:a:1 to select an alternate track. The resulting WEBA file can be embedded in HTML using a standard audio tag with type='audio/webm' and will play natively in all Chromium-based browsers and Firefox without additional codecs.

Related Tools