Initializing... drag & drop files here
Supports: 3GPP
A .weba is not a separate format. It is a WebM file — the same Matroska-derived container that carries web video — with the video track left out, so that a web page or an app can load audio without pretending it is a movie. This page takes the audio track out of a 3GPP mobile clip, discards the picture, and writes it into exactly that.
Two things are worth knowing before you start, and both are visible in the measured output below. The codec is not something you choose: the Audio Codec group renders with nothing selectable in it, and Opus is settled server-side. And the sample rate the finished file reports is always 48,000 Hz no matter what you set, for a reason specific to how Opus is carried in this container.
We converted a five-second .3gpp holding AMR-NB speech at 8,000 Hz mono, and read the result:
| Property | Measured value |
|---|---|
| Container | Matroska/WebM — the file begins with the EBML signature 1A 45 DF A3 |
| Audio codec | Opus |
| Sample rate reported | 48,000 Hz — despite an 8,000 Hz source |
| Channels | 1, matching the source |
| Duration | 5.008 s |
| Video | Discarded; the file holds one audio track and nothing else |
Renamed to .webm |
Parsed identically — the bytes are a WebM file either way |
That 48,000 Hz figure is the part that confuses people, so it is worth being precise: Opus always presents its output at 48 kHz. The codec's specification defines internal modes at 8, 12, 16, 24 and 48 kHz, and it selects among them based on the material and the bitrate, but the decoder's output — and therefore what the container declares — is 48 kHz in every case. We confirmed this across the whole dropdown: encoding the same source at 8000, 12000, 16000, 24000 and 48000 Hz produced files that each report 48,000 Hz. The setting still constrains what the encoder is fed; it does not change the number a probe reads back.
Nothing here upsamples detail into existence. An AMR-NB recording contains nothing above roughly 3,400 Hz, and a 48 kHz Opus stream made from it contains nothing above roughly 3,400 Hz either.
.3gpp onto the page or click "Add Files". Several clips can be queued and all run with the same settings. The picture is discarded, so a handset video and a voice memo are handled the same way..weba. Files are uploaded over an encrypted connection, decoded and re-encoded on our servers, and deleted automatically after a few hours — no sign-up, no watermark.Opus is unusually good at low bitrates for speech, which is exactly what a 3GPP recording contains. The output size is the bitrate multiplied by the duration, so it is predictable; we measured the same five-second clip across the range:
| Bitrate | Five seconds, measured | Per minute | Reasonable for |
|---|---|---|---|
| 8 kbps | 6,835 bytes | ≈ 60 KB | Very compact speech; audible degradation |
| 16 kbps | 10,638 bytes | ≈ 120 KB | Clear mono speech — plenty for an AMR-NB source |
| 24 kbps | 16,562 bytes | ≈ 180 KB | Comfortable mono speech, some headroom |
| 32 kbps | 21,180 bytes | ≈ 240 KB | Wideband speech, spoken-word podcasts |
| 64 kbps | 39,836 bytes | ≈ 480 KB | Stereo speech, or music from an AAC source |
| 128 kbps (the dropdown's opening value) | 80,484 bytes | ≈ 960 KB | Music you want kept faithfully |
Your source sets the ceiling. AMR-NB runs at 4.75 to 12.2 kbit/s and is band-limited to telephone range, so encoding it at 128 kbps stores the surviving artifacts very carefully in a file eight times bigger than 16 kbps would have produced, and it sounds no better. If the 3GPP came from a later handset carrying AAC-LC at 64 to 128 kbit/s, then a bitrate in the 48 to 96 kbps range is a sensible match.
The sample-rate list is shared across every audio target on the site, so it offers 44,100 Hz — and Opus has no 44.1 kHz mode at all. Its specification defines 8, 12, 16, 24 and 48 kHz and nothing between them.
Choosing it here does not fail. Our conversion layer validates the requested rate against the codec before the encoder is invoked and substitutes 48,000 Hz, which is the nearest rate Opus actually supports. That validation is genuinely load-bearing rather than cosmetic: invoking the encoder directly with a 44,100 Hz request produces a hard error — "Specified sample rate 44100 is not supported by the libopus encoder" — and no output file. The same shape applies to AMR and MP3 targets, which also have fixed rate sets.
The practical advice is unchanged: leave Audio Sample Rate on ORIGINAL. It costs you nothing and avoids the question entirely.
Because no codec entry in the option set is offered for a .weba target — the Audio Codec group renders as a heading with nothing under it, and the encoding is settled server-side. That is faithful to the container rather than a limitation: WebM permits only Opus and Vorbis as audio codecs, and Opus is the better of the two at every bitrate. We confirmed the output is an Opus stream in a Matroska/WebM container.
Generally yes, though the extension is the weaker part of the arrangement. Opus in the HTML audio element is supported by browsers covering 96.39% of global usage according to caniuse.com, with Safari listed as partial rather than full. What browsers key off is the MIME type your server sends, not the file extension, so make sure it is served as audio/webm. If something refuses the file, rename it to .webm — we confirmed the bytes parse identically either way, because a .weba is a WebM file.
Because that is how Opus works. The codec chooses an internal mode from 8, 12, 16, 24 or 48 kHz depending on the material and bitrate, but it always presents its decoded output at 48 kHz, so the container declares 48,000 Hz whatever went in. We checked every entry in the dropdown and all of them reported 48,000 Hz in the finished file. No detail has been invented — an AMR-NB source still contains nothing above roughly 3,400 Hz.
The conversion succeeds at 48,000 Hz. Opus has no 44.1 kHz mode — its specification defines 8, 12, 16, 24 and 48 kHz only — so the request is validated against the codec and substituted before encoding begins. Without that step it would be a hard failure: calling the encoder directly with a 44,100 Hz rate returns "Specified sample rate 44100 is not supported by the libopus encoder" and writes nothing at all.
It is discarded. This is an audio conversion, so the picture is dropped and only the sound track is decoded and re-encoded — we confirmed the finished file contains exactly one stream. If you want to keep the moving image, convert to a video format instead; if you want both, run the two conversions separately and keep the original.
The conversion fails and no file is produced. We confirmed the behaviour on a source with no audio stream: the encoder is handed nothing, and the job errors out rather than writing a silent file. Nothing in the pipeline generates silence to fill the gap. Open the clip in VLC first and check whether an audio track is listed if you are not sure.
They contain the same audio; the difference is the wrapper. A .weba is Opus inside a WebM container, which carries a duration, seek information and tags, and which browsers handle as a media file. 3GPP to Opus writes an Ogg-wrapped Opus stream instead, which is what most desktop audio tooling expects to see. Choose .weba for the web and .opus for everything else.
At these bitrates, considerably. Opus was designed for speech and low-latency streaming as well as music, and at 16 to 32 kbps it produces clear mono speech where MP3 at the same rate sounds distinctly rough. The catch is reach rather than quality: MP3 plays on essentially everything ever made, which is why 3GPP to MP3 is still the right answer if you are emailing a file to somebody and cannot predict what will open it.
Your .3gpp is uploaded over an encrypted connection, decoded and re-encoded on our servers, and both the upload and the resulting .weba are deleted automatically after a few hours. Files are never shared or made public, there is no watermark and no account is required. Handset clips are small, so uploads are quick; the practical constraint on a long recording is upload time rather than anything about your own machine.