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.
Click or drop an MP4, MOV, WEBM or AVI file
Leave both fields blank to extract the entire audio track. Check the detected video duration above to help choose a range.
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.
libmp3lame and the native aac encoder respectively, both lossy, both driven by the bitrate slider you set.
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.
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.
Trim range, sample rate, channels and loudness
| Control | FFmpeg flag | Notes |
|---|---|---|
| Start time | -ss | Seeks before decoding begins, so trimming a long file is fast |
| Duration | -t | Optional; leave blank to extract to the end of the clip |
| Sample rate | -ar | Left on Auto, the source rate passes through untouched |
| Channels | -ac | 1 forces mono, 2 forces stereo; Auto preserves the source layout |
| Normalize | -af loudnorm=I=-16:TP=-1.5:LRA=11 | EBU R128 loudness normalization targeting -16 LUFS integrated loudness |
-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.
Container and codec documentation
- FFmpeg audio channel and stream docs, covering
-vn,-acand how container demuxing separates video and audio streams. - FFmpeg loudnorm filter reference, detailing the EBU R128 targets this tool’s normalize option applies.
- Opus codec site, the royalty-free codec behind the Opus output option.
- FLAC format specification, describing the lossless compression this tool’s FLAC output uses.
- ffmpeg.wasm documentation, the WebAssembly build of FFmpeg running this whole extraction in your browser.
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.
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.