Video to Audio Extractor: Extract MP3 from Video Free

📄 File and Document Free Forever

Video to Audio Extractor

Pull the audio track out of any video file and save it as MP3, WAV, AAC, OGG, FLAC or Opus, with an optional trim range. Runs on a real FFmpeg engine compiled to WebAssembly, entirely inside your browser.

Loading video engine
Upload Video File
🎬

Click or drop an MP4, MOV, WEBM or AVI file

Trim Range (Optional)

Leave both fields blank to extract the entire audio track. Check the detected video duration above to help choose a range.

Output Settings
Upload a video file to get started.
About This Tool

How this tool strips an audio track out of a video without ever touching the video codec

Pulling audio out of a video file is not, at the codec level, a conversion of the audio itself. It is a demultiplex: video containers like MP4 and MOV already store their video and audio as separate elementary streams, muxed together on one timeline. This tool runs FFmpeg’s -vn flag, meaning no video, which tells the encoder to drop the video stream entirely and only process the audio track that was already sitting inside the container.

The engine is ffmpeg.wasm, a WebAssembly build of real FFmpeg running inside a Web Worker in your browser. Your file is written into FFmpeg’s virtual filesystem with fetchFile(), processed there, and read back out as a downloadable blob. No upload, no server round trip, and closing the tab discards everything.

Six output formats, six different codecs

The format dropdown does not just change the file extension. It selects a completely different FFmpeg audio encoder for each option, some lossy and some lossless.

MP3 and AAC Encoded with libmp3lame and the native aac encoder respectively, both lossy, both driven by the bitrate slider you set.
OGG and Opus libvorbis and libopus, two open, license-free lossy codecs. Opus in particular is built for efficient encoding at low bitrates without the artifacts older codecs show at the same size.
WAV and FLAC WAV uses pcm_s16le, uncompressed 16-bit linear PCM, and FLAC uses the flac encoder for lossless compression. Neither takes a bitrate setting, since there is no lossy quality dial to turn for either format.
// format to codec mapping, simplified from the tool source var FORMAT_MAP = { mp3: { ext: ‘mp3’, codec: ‘libmp3lame’ }, wav: { ext: ‘wav’, codec: ‘pcm_s16le’ }, aac: { ext: ‘m4a’, codec: ‘aac’ }, ogg: { ext: ‘ogg’, codec: ‘libvorbis’ }, flac: { ext: ‘flac’, codec: ‘flac’ }, opus: { ext: ‘opus’, codec: ‘libopus’ } }; // -vn drops the video stream, keeping only audio args.push(‘-i’, inputName, ‘-vn’, ‘-acodec’, fmt.codec, ‘-b:a’, bitrate);

Trim range, sample rate, channels and loudness

ControlFFmpeg flagNotes
Start time-ssSeeks before decoding begins, so trimming a long file is fast
Duration-tOptional; leave blank to extract to the end of the clip
Sample rate-arLeft on Auto, the source rate passes through untouched
Channels-ac1 forces mono, 2 forces stereo; Auto preserves the source layout
Normalize-af loudnorm=I=-16:TP=-1.5:LRA=11EBU R128 loudness normalization targeting -16 LUFS integrated loudness
Bitrate is silently ignored for lossless formats. If you set a bitrate slider and then switch to WAV or FLAC, that value never reaches the encoder. Both codecs are constructed without a -b:a flag in the underlying command, since a lossless stream has no target bitrate to hit, only a compression level for FLAC and none at all for raw PCM.

Two quirks in how this runs

Worker origin workaround

ffmpeg.wasm’s loader normally tries to build its background Worker directly from the CDN URL the core script came from, which browsers refuse as a cross-origin script violation. This tool fetches that worker file as a same-origin blob first and passes it in as classWorkerURL, which is what avoids the failure.

The video preview is cosmetic

Loading your file also spins up a hidden <video> element purely to read its duration and show a scrubbable preview player, which helps you pick a trim range visually. That preview has no bearing on the actual FFmpeg extraction, which reads the original file directly.

FFmpeg -vn stream demultiplex Six codecs, lossy and lossless EBU R128 loudness normalization

Container and codec documentation

Audio people pull out of video

Pulling a podcast or interview’s audio out of its video recording, extracting a song from a music video for offline listening, lifting a lecture’s audio out of a screen captured video for a smaller file to sync to a phone, and grabbing a voice memo out of a video clip without carrying the picture along. The trim controls make it easy to grab just the useful segment instead of extracting an entire long recording.

Common Questions

FAQ: Video to Audio Extractor

Upload your video file, optionally set a start time and duration to trim it, choose an output format and bitrate, then click Extract Audio. The tool strips the video stream and reencodes only the audio, all inside your browser, and gives you a downloadable audio file in a few seconds for most clips.

Because this tool runs on a real FFmpeg build, it supports the audio and video containers FFmpeg supports, including MP4, MOV, WEBM, MKV, and AVI, the formats produced by phones, screen recorders, cameras and most editing software.

128 to 192 kbps is a solid balance of quality and file size for speech and general video audio. Use 256 to 320 kbps for music heavy content where fidelity matters more, or drop to 96 kbps for voice memos and podcasts where file size is the priority.

No. FFmpeg runs as WebAssembly directly in your browser tab. The video file is read into local browser memory and processed there. It is never transmitted anywhere, which also means there is no arbitrary file size restriction from an upload limit.

The first run downloads and initializes the roughly 30MB FFmpeg WebAssembly core. This only happens once per page visit. Every extraction after that reuses the already loaded engine and starts immediately.

It runs FFmpeg’s loudnorm filter, the same EBU R128 loudness standard used in broadcast audio, to even out sections that are too quiet or too loud so the whole clip sits at a consistent, comfortable volume. It is useful for screen recordings, interviews and voice memos with uneven levels, and is entirely optional.

Keep Original works well for almost everyone and avoids any unnecessary resampling. Choose 44100 Hz for music, 48000 Hz to match most camera and screen recording audio, or drop to 22050 or 16000 Hz for voice only recordings where a smaller file matters more than fidelity.

Privacy Overview

Cookies let this site remember your preferences and show us which tools people actually use. Full detail sits in our Privacy Policy.