Convert SWF to WAV — Free Online Tool
Extract and convert the audio track from an SWF Flash file into a high-quality, uncompressed WAV file using PCM 16-bit audio encoding. This tool strips the MP3 or AAC audio embedded in the SWF container and re-encodes it to lossless PCM, making it ideal for audio editing, archiving, or broadcast use.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your SWF file here
or click to browse
Free — no uploads, no signups. Your files never leave your browser.
Settings
Note: Browser-based encoding uses approximate quality targets. For precise CRF compression, copy the FFmpeg command above and run it on your desktop.
Estimated output:
Conversion Complete!
DownloadHow It Works
SWF files typically encode their audio as MP3 (libmp3lame) or AAC streams embedded within the Flash container alongside vector graphics and interactive content. During this conversion, FFmpeg demuxes the SWF container to extract the audio stream, discards all video and interactive data (since WAV is an audio-only format), and re-encodes the audio to PCM signed 16-bit little-endian (pcm_s16le) — the standard uncompressed codec used in WAV files. Because the source audio in SWF is lossy (MP3 or AAC), the output WAV will be a lossless container holding audio that was already lossy-compressed at the source stage; no further quality is lost in this step, but original compression artifacts from the SWF cannot be recovered.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg binary — the open-source multimedia processing engine that handles all demuxing, decoding, and encoding in this conversion. In the browser version of this tool, FFmpeg runs via WebAssembly (FFmpeg.wasm) with no server involvement. |
-i input.swf
|
Specifies the input SWF file. FFmpeg uses its built-in SWF demuxer to parse the Flash container and identify available streams — in this case, extracting the embedded MP3 or AAC audio track while ignoring vector graphics and interactive elements. |
-c:a pcm_s16le
|
Sets the output audio codec to PCM signed 16-bit little-endian, the standard uncompressed audio encoding for WAV files. This decodes the lossy MP3 or AAC audio from the SWF and re-encodes it as raw PCM samples, producing a lossless WAV file at the same audio quality level as the SWF source. |
output.wav
|
Defines the output filename with a .wav extension, which tells FFmpeg to use the WAV (RIFF) container muxer. The resulting file will be a fully uncompressed WAV suitable for audio editing, archiving, or any workflow requiring broadcast-ready lossless audio. |
Common Use Cases
- Recovering the background music or sound effects embedded in a legacy Flash animation for use in a modern audio editor like Audacity or Adobe Audition
- Extracting narration or voiceover audio from an old Flash-based e-learning module so it can be re-used in updated course materials
- Archiving the audio content of defunct Flash games or interactive media before they become completely inaccessible due to Flash end-of-life
- Pulling a jingle or audio branding asset out of an old SWF banner ad to use in a video production or broadcast project that requires uncompressed WAV input
- Converting Flash presentation audio to WAV so it can be imported into a digital audio workstation (DAW) for mixing or mastering
- Extracting audio from a Flash video (SWF-wrapped FLV) to create a standalone audio file for transcription or captioning workflows
Frequently Asked Questions
The WAV output will sound identical to the audio as it exists inside the SWF — no additional quality is lost during this conversion. However, SWF files store audio in lossy formats like MP3 or AAC, so any compression artifacts from when the SWF was originally authored will still be present in the WAV. The WAV container itself is lossless, but it cannot undo prior lossy encoding.
SWF files store audio as compressed MP3 or AAC streams, which are much smaller than uncompressed audio. WAV with PCM encoding stores every audio sample in raw form with no compression — a typical stereo audio stream at 16-bit/44.1kHz produces about 10MB per minute. This size increase is expected and is the reason WAV is preferred for editing and archival: it avoids any further quality degradation from re-compression.
They are completely discarded. WAV is a pure audio container with no capacity for video, graphics, or interactivity. FFmpeg extracts only the audio stream from the SWF and ignores all other content. If you need to capture the visual output of an SWF file, you would need a separate screen-capture or SWF rendering tool first.
You can swap the codec flag to use a different PCM variant depending on your needs. Replace '-c:a pcm_s16le' with '-c:a pcm_s24le' for 24-bit audio (better for professional audio work), '-c:a pcm_s32le' for 32-bit integer, or '-c:a pcm_f32le' for 32-bit floating point. For example: 'ffmpeg -i input.swf -c:a pcm_s24le output.wav'. Note that since the SWF source is lossy, increasing bit depth beyond 16-bit provides headroom for editing rather than recovering lost quality.
Yes. On Linux or macOS, you can run a shell loop: 'for f in *.swf; do ffmpeg -i "$f" -c:a pcm_s16le "${f%.swf}.wav"; done'. On Windows Command Prompt, use: 'for %f in (*.swf) do ffmpeg -i "%f" -c:a pcm_s16le "%~nf.wav"'. This processes every SWF in the current directory and outputs a matching WAV file for each.
If the SWF contains no audio stream, FFmpeg will return an error such as 'Output file does not contain any stream' and no WAV file will be produced. Some SWF files are purely visual animations with no embedded audio track. You can check whether your SWF has audio by running 'ffprobe input.swf' in the terminal and looking for an audio stream in the output.
Technical Notes
SWF files are complex containers designed for the Adobe Flash runtime, and FFmpeg's SWF demuxer supports reading embedded audio streams encoded as MP3 (flv1-associated libmp3lame) or AAC. The demuxer does not fully execute ActionScript or render Flash timeline logic, so it reads audio data directly from the binary structure. The output codec, pcm_s16le, produces standard 16-bit signed little-endian PCM — the same encoding used by audio CDs and widely accepted by every major DAW, NLE, and audio tool. WAV files produced this way carry no metadata beyond basic RIFF headers (sample rate, channel count, bit depth); any ID3 tags or other metadata that may have been embedded in the SWF audio stream are not carried over. If the SWF contains multiple audio events or interleaved audio chunks (common in interactive Flash content), FFmpeg will attempt to concatenate them into a single continuous stream, though complex interactive SWFs with dynamically triggered audio may not demux cleanly. For such files, a Flash-capable player with audio recording capability may yield more accurate results. The sample rate of the output WAV will match whatever was embedded in the SWF, commonly 44100 Hz or 22050 Hz for older Flash content.