Extract Audio from SWF to WAV — Free Online Tool

Extract audio from SWF Flash files and save it as an uncompressed WAV file. This tool demuxes the MP3 or AAC audio stream embedded in the SWF container and re-encodes it to 16-bit PCM WAV — giving you a lossless, universally compatible audio file ready for editing or archiving.

FFmpeg Command

Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg

Free — no uploads, no signups. Your files never leave your browser.

Estimated output:

Conversion Complete!

Download

How It Works

SWF files typically embed audio as compressed MP3 (libmp3lame) or AAC streams alongside Flash vector animations and interactive content. This conversion discards the video and animation layers entirely using the -vn flag, then decodes the compressed audio stream and re-encodes it into uncompressed PCM signed 16-bit little-endian (pcm_s16le) audio wrapped in a WAV container. Because the source audio in SWF is lossy (MP3 or AAC), the output WAV is a lossless representation of that already-decoded signal — meaning no additional quality is lost in the WAV conversion itself, but any compression artifacts from the original SWF encoding are preserved in the output.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg tool. In the browser-based version of this tool, FFmpeg runs as a WebAssembly (wasm) module entirely within your browser — no files leave your device.
-i input.swf Specifies the input SWF file. FFmpeg reads the SWF container, identifying the embedded audio stream (typically MP3 or AAC) and ignoring Flash-specific animation, vector, and interactivity data.
-vn Disables video output, instructing FFmpeg to ignore the video and animation streams present in the SWF. Since SWF files contain Flash animation data (not needed for audio extraction), this flag ensures only the audio stream is processed.
-c:a pcm_s16le Sets the output audio codec to PCM signed 16-bit little-endian, which is the standard uncompressed audio format for WAV files. This decodes the lossy MP3 or AAC audio from the SWF into raw, uncompressed PCM samples — the format expected by virtually all audio editing software.
output.wav Specifies the output filename and container format. The .wav extension tells FFmpeg to wrap the pcm_s16le audio stream in a Waveform Audio File Format (WAV) container, producing a file compatible with all major operating systems, DAWs, and broadcast tools.

Common Use Cases

  • Recovering background music or sound effects embedded in legacy Flash animations (.swf) from the pre-HTML5 era before Flash reached end-of-life
  • Extracting voiceover narration from SWF-based e-learning modules or interactive presentations for re-use in updated course materials
  • Pulling audio from SWF game files to use sound effects or music tracks in audio editing software like Audacity or Adobe Audition
  • Archiving audio content from SWF files before the source Flash project files are lost, producing an uncompressed WAV master for long-term preservation
  • Extracting a music track or jingle from an SWF web advertisement or banner animation for use in a video production project
  • Preparing SWF audio for transcription or accessibility work by extracting narration into a clean WAV file compatible with transcription tools

Frequently Asked Questions

Yes — the audio quality in the WAV output will be identical to what you heard in the SWF playback. The SWF file stores audio as a compressed MP3 or AAC stream, and this tool fully decodes that stream before writing it as uncompressed PCM WAV. No additional quality loss occurs during the SWF-to-WAV step itself. However, any compression artifacts already present in the original SWF's MP3 or AAC audio will remain audible in the WAV, since that lossy encoding happened when the SWF was originally authored.
SWF files store audio in compressed formats like MP3 or AAC, which can reduce audio file size by 80–90% compared to uncompressed audio. WAV with pcm_s16le encoding stores every audio sample as raw 16-bit integers with no compression, so a 30-second audio clip that occupied only a few hundred kilobytes as MP3 inside the SWF might expand to several megabytes in WAV. This is expected and normal — the larger WAV file is the uncompressed, edit-ready version of the same audio.
SWF files do not support multiple simultaneous audio tracks in the way that container formats like MKV or MP4 do — only a single audio stream is active at a time. However, complex interactive SWFs may embed several separate audio clips triggered by different timeline events or user interactions. FFmpeg will extract whichever audio stream it detects as the primary stream; if your SWF has layered or event-triggered audio, some clips may not be captured. For those cases, you would need a Flash-aware tool to isolate individual audio assets before extraction.
If the SWF file contains no audio stream, FFmpeg will report an error such as 'Output file does not contain any stream' and will not produce a WAV file. SWF files used purely for vector animations or silent interactive content have no audio data to extract. You can verify whether a SWF contains audio by running 'ffmpeg -i input.swf' in a terminal and checking whether an audio stream appears in the output.
To change the output PCM format, replace 'pcm_s16le' in the command with another supported WAV codec. For example, use '-c:a pcm_s24le' for 24-bit depth (useful if you need higher dynamic range for professional audio work), '-c:a pcm_s32le' for 32-bit integer, or '-c:a pcm_f32le' for 32-bit floating point. The command would become: ffmpeg -i input.swf -vn -c:a pcm_s24le output.wav. Note that since the SWF source audio is lossy MP3 or AAC, increasing the bit depth does not recover lost detail — it simply provides more headroom if you plan to process the audio further in a DAW.
Yes. On Linux or macOS, you can use a shell loop: 'for f in *.swf; do ffmpeg -i "$f" -vn -c:a pcm_s16le "${f%.swf}.wav"; done'. On Windows Command Prompt, use: 'for %f in (*.swf) do ffmpeg -i "%f" -vn -c:a pcm_s16le "%~nf.wav"'. Each SWF file will be processed sequentially and produce a corresponding WAV file with the same base filename. This is especially practical for archiving large collections of legacy Flash content.

Technical Notes

SWF files store audio using either the MP3 codec (libmp3lame, which is the most common default in Flash authoring tools) or AAC, both of which are lossy formats. When FFmpeg demuxes and decodes the audio from a SWF, it produces a raw PCM signal which is then written into the WAV container as pcm_s16le — 16-bit signed integers in little-endian byte order, which is the standard format for CD-quality audio and is universally supported by audio editors, DAWs, broadcast systems, and operating system audio APIs. The sample rate of the output WAV will match whatever was embedded in the SWF, commonly 44100 Hz or 22050 Hz (many older Flash files used 22050 Hz or even 11025 Hz to reduce file size). One known limitation is that SWF files with DRM-protected or heavily obfuscated content may not demux cleanly. Additionally, SWF files that use Flash's built-in streaming audio (RTMP-based) rather than embedded audio will not contain extractable audio data locally. Metadata such as title or artist tags is not preserved, since SWF files do not carry standard audio metadata and WAV has limited native metadata support. The output file size can be estimated as: (sample rate × bit depth / 8 × channels × duration in seconds) bytes — for example, 44100 Hz stereo 16-bit audio runs approximately 10 MB per minute.

Related Tools