3GP → MP3
3GP to MP3 converter
The audio track is extracted from the 3GP container — usually AMR-NB, sometimes low-bitrate AAC — and re-encoded to MP3. Any video track is discarded.
…or drag files and folders here. Add as many as you like — everything is processed on this device.
.3g2 .3gp .amr .m4v .mov .mp4 .qt
In one paragraph
The 3GP container was designed for MMS and early camera phones, and it is still what a lot of legacy Android recorders, dashcams and CCTV units produce. Its audio is normally AMR-NB, a narrowband speech codec no browser can decode, which is why these files so often appear to be broken.
Sonic Batch demuxes the 3GP, identifies whether the audio is AMR or AAC, decodes it locally, and writes an MP3. If the file also contains video, that stream is discarded rather than re-encoded, so conversion is quick even on a phone.
Does this change the audio quality?
A lossy source re-encoded to a lossy target, so a second generation of quality is lost — though the dominant limit is the source itself. AMR audio inside a 3GP is telephone-bandwidth speech and will stay that way; AAC audio inside a 3GP is usually 32–64 kbps, also modest. A high MP3 bitrate cannot improve either.
- Nothing restores the frequencies AMR discarded before the file was written.
- Keep the output mono and use a 16 kHz sample rate for AMR sources; that already exceeds the source bandwidth.
- Files with a video track but no audio track are reported as unsupported, not written as silence.
A worked example
Extracting usable audio from a stack of old phone videos
- Drop the .3gp files in. The queue shows the detected audio codec per file — AMR or AAC.
- Use 64 kbps mono at 16 kHz for the AMR files; raise it to 128 kbps for AAC ones.
- Turn on LUFS normalisation at −16 to even out wildly different recording levels.
- Convert all and download the ZIP.
Set the sample rate deliberately for AMR sources
AMR-NB carries nothing above about 4 kHz. A 16 kHz output sample rate covers that completely, and at 64 kbps mono you get roughly 0.5 MB per minute. Choosing 48 kHz stereo at 320 kbps produces a file twenty times larger that sounds exactly the same — the extra bits are describing silence.
Supported formats, limits and browser notes
Sonic Batch decodes with the browser when it can (faster, no engine download) and falls back to the self-hosted WebAssembly engine when it cannot. Every combination below works in every listed browser; the column only tells you which decoder does the work.
| Input | What it is | Chrome | Firefox | Safari | iOS |
|---|---|---|---|---|---|
| 3GP | Legacy phone recording container, normally AMR-NB or low-bitrate AAC audio. | Engine | Engine | Partial | Partial |
| AMR | Phone-call speech codec: 8 kHz mono, 4.75–12.2 kbps. Decode only — nothing should be created in it. | Engine | Engine | Engine | Engine |
| MP4 | The standard video container. Its audio track is almost always AAC. | Native | Partial | Native | Native |
| MOV | QuickTime video from iPhone and DSLR cameras. Audio is normally AAC or PCM. | Partial | Engine | Native | Native |
| Output | Encoder | Bitrates / depth | Sample rates | Tags |
|---|---|---|---|---|
| MP3 | libmp3lame | 32–320 kbps | 8–48 kHz | Yes + artwork |
- Max per file
- 400.0 MB
- Max per queue
- 4.00 GB
- Max duration
- 4:00:00
- Max archive
- 1.50 GB
These are enforced ceilings, checked before any decoding starts, not measured maximums — a file over the limit is rejected rather than allowed to exhaust the tab’s memory. Real-world capacity is lower on older phones, which is why the scheduler runs one file at a time on iOS and Safari.
Where your audio goes
Nowhere. Your file is read from disk into this browser tab with the File API, decoded and encoded by code running in that same tab, and handed back to you as a download. It is never transmitted.
That is a structural property of the application, not a policy promise: there are no API routes, no server actions and no third-party processing services in this project, so there is nothing capable of receiving a file. The page’s Content-Security-Policy also restricts connections to this origin, and the automated test suite includes a browser test that fails if any network request during import, preview, conversion or download carries media bytes.
The trade-off, stated plainly:results live in your tab’s memory until you download them. Closing or reloading the page discards them. There is nothing on a server to recover, because nothing was ever put there.
Troubleshooting
The file plays as video but I only want the audio.
That is what this page does. The video stream is dropped before encoding, so the job is much faster than a video conversion and the output is audio only.
It reports no audio stream.
Some 3GP recordings really are video-only, particularly from cameras where the microphone was disabled. Check playback in a player to confirm.
My .3g2 file is not accepted.
3G2 is accepted — it uses the same structure. If it is rejected, the per-file error names the codec that was found so you can see what is unusual about it.
Frequently asked questions
What audio is inside a 3GP file?
Most commonly AMR-NB, sometimes AMR-WB or low-bitrate AAC. Sonic Batch detects and displays the actual codec before converting.
Why is my MP3 bigger than the 3GP?
AMR runs at around 8 kbps. Even a modest MP3 is many times that bitrate. You are paying for compatibility, not quality.
Can I convert the video too?
No. Sonic Batch is an audio utility; video conversion is out of scope.
Does this work offline?
Once the page and the engine assets have been cached by your browser, the conversion itself needs no network at all.