πŸ”§

mp4 to mp3

Pull the audio out of an MP4 and save it as a 128, 192 or 320 kbps MP3 without uploading the file.

Convert MP4 to MP3

🎬

Conversion runs entirely in your browser β€” large files may take a moment.

🎡

Download MP3

How It Works

πŸ“ 1. Upload Select or drag-and-drop your MP4 video file.
βš™οΈ 2. Convert Audio is decoded and re-encoded as MP3 right in your browser β€” no server needed.
⬇️ 3. Download Click Download and save your MP3 file instantly.

About This Tool

This MP4 to MP3 converter extracts the soundtrack from a video file and encodes it as an MP3 you can download. Select an MP4 of up to 500 MB, choose an output bitrate of 128, 192 or 320 kbps, and a progress bar tracks the decode and encode stages before the finished file and its size are shown. It is useful for saving a lecture or interview for offline listening, pulling a soundtrack out of a recording for editing, or shrinking a video you only ever needed the audio from. The conversion uses the browser's Web Audio API to decode the video's audio track and the lamejs encoder to write the MP3, so the entire process happens on your own machine and the video is never uploaded to a server.

Frequently Asked Questions

No. The file is read from your device into the browser's memory, decoded by the Web Audio API and encoded by a JavaScript MP3 encoder running in the page. Nothing is transmitted, which is why there is a 500 MB size limit tied to memory rather than to any upload quota.
Use 128 kbps for speech such as lectures, interviews and podcasts, where it keeps files small with no meaningful loss. Use 192 kbps for music in most listening situations. Reserve 320 kbps for music you will hear on good equipment or edit further, accepting roughly two and a half times the file size of 128.
It depends on the length of the audio and your processor, because the encoding is done in JavaScript rather than by native code. Short clips finish in seconds while a long recording can take several minutes. Keep the tab open and visible, since background tabs may be throttled by the browser.
The two common causes are a file above the 500 MB limit and an audio codec your browser cannot decode. Codec support varies between browsers, so an MP4 that plays in one may fail in another. Trying a different browser, or re-exporting the video with standard AAC audio, usually resolves it.
It cannot improve it. The audio inside an MP4 is already lossy, usually AAC, and re-encoding to MP3 discards a little more detail regardless of the bitrate you pick. A high bitrate limits the additional loss but never recovers what the original encode removed.

πŸ”’ 100% Private

Everything runs in your browser. Your file is never uploaded to any server.

Tips

  • β€’ Choose 128 kbps for speech or podcasts.
  • β€’ Choose 192 kbps or higher for music.
  • β€’ Files must contain an audio track to convert.

Decoding the video and encoding the MP3

The conversion runs in three stages, all inside the page. First, the selected file is read into memory as an array buffer. Files larger than 500 MB are rejected before this point, because the whole file has to be held in browser memory rather than streamed from a server.

Second, the buffer is passed to the Web Audio API's decodeAudioData method. This asks the browser to decode the audio track inside the MP4 container, typically AAC, and return raw uncompressed samples as an audio buffer. Video frames are discarded entirely at this stage; only the sound survives. The decoded buffer carries the original sample rate, commonly 44,100 or 48,000 Hz, and the channel layout.

Third, those samples are handed to lamejs, a pure JavaScript port of the LAME MP3 encoder, configured with the channel count, the original sample rate and your chosen bitrate. The encoder processes the audio in chunks, yielding between them so the progress bar can repaint, then the encoded chunks are assembled into a single blob you download as an MP3.

Sample rate and channel count are carried through from the source; only the bitrate is chosen by you.

What each bitrate costs in file size

Bitrate is exactly what the name says: bits of audio data per second. Because the encoder uses a constant bitrate, output size is predictable from the duration alone, and the video's original file size is irrelevant.

Take a three-minute clip, which is 180 seconds. At 192 kbps the encoder writes 192,000 bits each second. Divide by 8 to get 24,000 bytes per second, multiply by 180 seconds for 4,320,000 bytes, and divide by 1,048,576 to get roughly 4.12 MB.

The same clip at 128 kbps produces 16,000 bytes per second, or 2,880,000 bytes across 180 seconds, which is about 2.75 MB. At 320 kbps it is 40,000 bytes per second, 7,200,000 bytes in total, or about 6.87 MB. Trading 128 for 320 therefore costs two and a half times the storage for the same three minutes.

Scale that up and the figures matter. A 90-minute lecture at 128 kbps lands at roughly 82 MB, while the same recording at 320 kbps would take about 206 MB. For a spoken-word recording that extra 124 MB buys detail that speech simply does not contain.

Choosing a bitrate and knowing the limits

Match the bitrate to the material. Speech, including lectures, interviews and podcasts, carries a narrow frequency range and is well served by 128 kbps, which keeps files small enough to sync comfortably to a phone. Music benefits from 192 kbps, and 320 is worth choosing only for music you will listen to on good headphones or feed into further editing.

Understand that this is a lossy-to-lossy conversion. The audio inside an MP4 has already been compressed, usually as AAC, and re-encoding it as MP3 discards more detail on top. Choosing 320 kbps cannot recover anything the source lost, so it sets a ceiling rather than restoring quality. If you need a pristine master for editing, work from the original recording instead.

Three practical constraints are worth planning around. The 500 MB limit exists because the file is held in memory, and on an older device you may hit its own limit sooner. Conversion speed depends on your processor, since a JavaScript encoder is slower than a native one, so long recordings take several minutes. And decoding depends on the browser supporting the audio codec in your MP4, so an unusual codec may fail even though the video plays elsewhere.