SnipAudioCut audio

How do you convert a WebM screen or voice recording to MP3?

Published 2026-10-18 · by patrick-eu

Short answer: drop the .webm on the video to MP3 page, set the sample rate to 48 kHz, keep 192 kbps, and press Convert. It takes screen recordings with a picture and audio-only recordings alike. In Chromium, all 16 WebM files we made converted, including browser recordings that carry no length at all.

If you want to keep only part of the recording, open it in the audio cutter instead: it also opened every WebM, showed the true length, and saves MP3 or WAV at 44.1 kHz.

What a WebM file is

WebM is a container, a wrapper around compressed picture and sound. The WebM container guidelines (read 2026-10-18) say it "comprises a subset of the Matroska multimedia container format", that the video codec "SHOULD be VP8 or VP9" and the audio codec "SHOULD be Vorbis or Opus", and that audio-only files should carry the type audio/webm. So a .webm may be:

Only the sound is decoded when you convert, so the picture codec does not matter. The Chromium project's Audio/Video page (read 2026-10-18) lists WebM and Matroska as containers and Opus and Vorbis as codecs, which is why Chrome and Edge open these files; we did not test Safari or Firefox, so we don't know how they behave. For MP4, MOV and MKV videos see How do you get the audio out of a video file?; for .ogg and .opus files see How do you convert OGG to MP3?.

How we tested

Which WebM files opened

FileInsideLength in fileLength shownConvertedWAV length
Screen recording, FFmpegVP9 + Opus 128180.008 s3:00.0yes8,640,000 samples = FFmpeg
Screen recording, FFmpegVP8 + Vorbis180.003 s3:00.0yes7,938,000 at 44.1 kHz, 48 fewer than FFmpeg
Audio only, FFmpegOpus 128180.008 s3:00.0yes8,640,000 = FFmpeg
Audio only, FFmpegVorbis180.003 s3:00.0yes7,938,000 at 44.1 kHz
Live, FFmpegOpus 128nonelength unknownyes8,640,000 = FFmpeg
Live, FFmpeg, monoOpus 32 voicenonelength unknownyes, mono8,640,000 = FFmpeg
Same Opus as .mkv / .webaOpus 128180.021 / 180.008 s3:00.0yessame MP3 size as .webm
Browser recording, stereoOpus 12859.906 s0:59.9yes2,875,200; FFmpeg 2,880,000
Browser recording, monoOpus 12859.861 s0:59.9yes, mono2,875,200; FFmpeg 2,877,120
Browser recording, defaultOpus 1289.899 s0:09.9yesnot saved as WAV
Browser screen recordingVP8 + Opus 12859.979 s0:60.0yes2,880,000 = FFmpeg
Browser screen recordingVP9 + Opus 12859.968 s0:60.0yes2,877,120 = FFmpeg
Browser recording in 1-s piecesOpus 128nonelength unknownyes1,437,120 = FFmpeg
Browser screen recording in piecesVP8 + Opus 128nonelength unknownyes1,438,848 as MP3
30-minute screen recordingVP9 + Opus 961800.008 s30:00.0 + long-file noteyes, 189 s86,401,152 as MP3
Measured by snipaudio.com, 2026-10-18, Chromium 153, video to MP3 page. "Length in file" is the Duration element in the WebM; "none" means the file has no Duration and no Cues index. WAV at 48 kHz unless noted.

Every file converted. The page lists a file within 0.2 s and decodes it when you press Convert. The .mkv and .weba copies converted too, though the file picker is set to show .webm and video files, so you may have to switch it to all files. We did not look at tags: none of our WebM files carried any.

The 0:60.0 shown for two recordings and the 2:60.0 that the page printed for a 44.1 kHz output are a display rounding fault in the page (3:00.0 and 1:00.0 would be right); the files themselves are fine.

Why a recording says "length unknown", and what happens to it

A WebM written in one go ends with a Duration value and a Cues index, both of which a player needs to show the length and jump around. Our non-chunked Chromium 153 recordings had both (59.906 s written for the stereo one), as did every FFmpeg file. The two recordings made in 1-second pieces had neither, and their Segment and Cluster sizes were marked unknown, which is what a recorder must write when it does not yet know how long the recording will be. FFmpeg's probe reports their length as N/A, the page's media element reports no length, and the page prints "length unknown". The WebM guidelines say that seeking is disabled without a Cues element.

Decoding does not need any of this. The page reads the whole file and decodes every packet: the piece-by-piece recording gave 1,437,120 samples at 48 kHz, 29.940 s, exactly FFmpeg's count, and the cutter showed 0:29.940 for the same file. Our two "live" FFmpeg files without a Duration also decoded to the full 8,640,000 samples. So an unknown length is a display problem, not a lost-sound problem, and you do not need a repair tool before converting.

The opposite case cost sound. The non-chunked stereo recording declared 59.906 s but decoded to 60.000 s in FFmpeg and in the cutter (2,645,999 samples at 44.1 kHz). The video to MP3 page copies the declared length, rounded to 0.1 s, into the end box of the file, so it stopped at 59.9 s: 2,875,200 samples, 4,800 short, 0.100 s of the ending gone. The mono recording lost 1,920 samples (0.040 s) the same way. Clear the end box, or type a larger value, and the page converts to the real end. Files whose declared length rounds up, such as the screen recording declared at 59.979 s, lost nothing.

Bitrate and sample rate: what the MP3 keeps

Source (3 min)Source scoreOutputScoreBytesPer minute
VP9 + Opus 128, 10,338,584 B21.9 dBMP3 128 kbps, 48 kHz14.5 dB2,880,3840.96 MB
MP3 192 kbps, 48 kHz21.0 dB4,320,5761.44 MB
MP3 192 kbps, 44.1 kHz21.0 dB4,320,8621.44 MB
MP3 320 kbps, 48 kHz21.8 dB7,200,9602.40 MB
WAV 16-bit, 48 kHz21.9 dB34,560,04411.52 MB
VP8 + Vorbis q5, 10,328,681 B23.8 dBMP3 192 kbps, 48 kHz22.3 dB4,320,5761.44 MB
MP3 192 kbps, 44.1 kHz22.4 dB4,320,8621.44 MB
WAV 16-bit, 44.1 kHz23.8 dB31,752,04410.58 MB
Browser recording, Opus 128 (60 s)21.4 dBMP3 192 kbps, 48 kHz20.6 dB1,438,2721.44 MB
WAV 16-bit, 48 kHz21.4 dB11,500,84411.52 MB
Measured by snipaudio.com, 2026-10-18, Chromium 153. Score = signal-to-error ratio against the 24-bit original at the output's sample rate. "Source score" is the WebM's own sound decoded by FFmpeg, before our page touched it.

The MP3 cannot score higher than the WebM's sound, which was already compressed once. At 192 kbps it stayed within 0.9 dB of the Opus source and within 1.5 dB of the Vorbis source; 320 kbps bought another 0.8 dB for 1.67 times the bytes; 128 kbps lost 7.4 dB. The MP3 is bigger than an audio-only WebM: 4.32 MB against 3.06 MB for the Opus file (141%), because MP3 needs more bits than Opus for the same waveform. For a screen recording the picture is most of the file, so the MP3 is smaller: 41.8% of the 3-minute file, 79.1% of the 30-minute one, whose picture was small and the sound 96 kbps.

48 or 44.1 kHz. Opus is decoded at 48 kHz, so at 48 kHz the WAV is the decoder's output, 73.5 dB against FFmpeg's decode of the same file (16-bit rounding is all that is left). At 44.1 kHz the browser resamples first: 65.5 dB against FFmpeg's 44.1 kHz decode, and the Vorbis file, which was 44.1 kHz to begin with, is best left at 44.1 kHz. The MP3 scores were the same at both rates to 0.1 dB, and so were the sizes to 286 bytes, so the choice matters for WAV, not for MP3. The audio cutter always saves at 44.1 kHz.

Mono. The mono recording and the mono live file came out as mono MP3s and WAVs; the WAV is half the size (17,280,044 bytes for 3 minutes), the MP3 is the same size as stereo at the same bitrate. The recorder also wrote the mono recording at 128,000 bits per second, 965,362 bytes for 60 s against 966,328 for stereo, so recording in mono does not make the WebM smaller.

Length of the MP3. Every MP3 came out 1,152 samples (0.024 s at 48 kHz) longer than the decoded sound, with the music starting 1,105 samples late: the encoder's start-up padding and whole-frame rounding, the same as on the other pages (Why are there gaps between joined MP3 files?). WAV keeps the exact length.

How long it took

FileOutputTimePeak browser memory
3-minute stereo WebM (seven files)MP3 192 kbps17.5 to 19.8 s708 to 730 MB
3-minute mono WebMMP3 192 kbps9.9 s690 MB
3-minute screen recordingMP3 128 / 320 kbps24.0 / 21.8 s713 / 708 MB
3-minute stereo WebMWAV1.1 to 1.5 s565 to 621 MB
60-second browser recordingMP3 192 kbps3.9 to 6.4 s650 to 685 MB
30-minute screen recording, 54.6 MBMP3 192 kbps, 41.2 MB189.2 s1,768 MB
3-minute WebM in the audio cutteropen / WAV / MP3 1921.7 to 1.8 s / 2.0 s / 17.1 snot measured
Measured by snipaudio.com, 2026-10-18, Chromium 153 headless on a server, sum of all browser processes. A phone will be slower and has less memory to spare.

Encoding the MP3 is the slow part; decoding the WebM is quick, so WAV is 13 to 16 times faster. The 30-minute file needed 1.77 GB; the page warns above 30 minutes, and How long a file can an online MP3 cutter open? shows where the browser runs out of memory. We did not test longer WebM files.

Steps

  1. Open the video to MP3 page and choose the .webm, or several at once. Screen recordings and audio-only recordings both go here.
  2. Set Sample rate to 48 kHz. Leave MP3 at 192 kbps, or pick WAV if another program will edit the sound further.
  3. If the file says "length unknown", nothing is wrong; just convert. If it shows a length, clear the end box of a browser recording so the last fraction of a second is kept.
  4. Press Convert, then Download. The file is decoded and encoded in your browser; it is not uploaded.
  5. To keep only a part, use the audio cutter instead: it opens the same files, shows the exact length, and lets you set the start and end to the millisecond.

Questions

Which formats can a browser record in the first place?

We asked Chromium 153 which types MediaRecorder accepts. Yes: audio/webm, audio/webm with Opus, audio/webm with PCM, audio/mp4, video/webm with VP8, VP9, AV1 or H.264 picture and Opus, video/mp4, video/x-matroska with H.264 and Opus. No: audio/webm with Vorbis, audio/ogg, audio/mpeg, audio/mp3, audio/wav. So a recorder page that asks for the default on a Chromium browser gets WebM with Opus; a page that asks for audio/mp4 gets an M4A-style file instead, which the M4A to MP3 page handles. Other browsers may differ; we did not test them.

Can I fix the missing length instead of converting?

Not on this site. Converting to MP3 or WAV sidesteps the problem: both outputs carry their length, and our outputs from the length-less files were the full recordings. If you need the WebM itself to show a length, that takes a tool that rewrites the file's Duration element, which we did not test.

Is a .weba file the same thing?

In our test, yes: the audio-only Opus WebM renamed .weba converted to an MP3 of the same size and length. The WebM guidelines list only .webm as the extension, and audio/webm as the type for audio-only files.

Continue with the next audio task