Extract Audio from SWF to AU — Free Online Tool
Extract audio from SWF Flash files and save it as a Sun AU file with uncompressed PCM encoding. This tool strips the video stream entirely and re-encodes the MP3 or AAC audio from the SWF container into 16-bit big-endian PCM (pcm_s16be), producing a lossless-quality AU file compatible with Unix systems and legacy audio pipelines.
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 carry audio encoded as MP3 (libmp3lame) or AAC, compressed alongside Flash video and interactive content. During this conversion, FFmpeg discards the video stream entirely using the -vn flag, then decodes the compressed audio track from the SWF and re-encodes it into pcm_s16be — 16-bit signed big-endian PCM — wrapped in the Sun AU container. Because the source audio is lossy (MP3 or AAC) and AU stores raw PCM, the output is an uncompressed representation of whatever audio quality exists in the source SWF. No further lossy compression is introduced, but the original lossy compression artifacts from the SWF's audio codec are preserved. The resulting AU file will be significantly larger than the source audio track because PCM carries no compression.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg command-line tool. When run in this web tool, it executes FFmpeg compiled to WebAssembly inside your browser — the same command works identically on your local machine if FFmpeg is installed. |
-i input.swf
|
Specifies the input SWF file. FFmpeg's SWF demuxer parses the Flash container and identifies the embedded video and audio streams — typically an FLV1 video track and an MP3 or AAC audio track — making them available for processing. |
-vn
|
Disables video output entirely. Since SWF files contain Flash video (usually FLV1-encoded) alongside audio, this flag tells FFmpeg to ignore the video stream and produce an audio-only output — essential for extracting just the sound from the Flash file. |
-c:a pcm_s16be
|
Sets the audio codec to 16-bit signed big-endian PCM, which is the standard encoding for Sun AU files. Because the source SWF audio is compressed (MP3 or AAC), FFmpeg fully decodes it first, then re-encodes it as uncompressed PCM — the native data format of the AU container. |
output.au
|
Specifies the output file with the .au extension, which tells FFmpeg to wrap the pcm_s16be audio data in the Sun AU container format, writing the AU file header with sample rate, channel count, and encoding information before the raw PCM samples. |
Common Use Cases
- Recovering audio from archived SWF Flash animations or games that played background music or sound effects you want to preserve before Flash support disappears entirely
- Extracting narration or voice-over audio from old e-learning SWF modules to repurpose the recordings in modern training content
- Feeding SWF audio into Unix-based audio processing pipelines or legacy tools that specifically require the AU format with raw PCM data
- Archiving audio from interactive Flash advertisements or promotional SWF files for legal or historical documentation purposes
- Extracting jingle or music beds from old SWF web content to use in video editing software that accepts uncompressed AU audio
- Converting SWF audio for use with Sun/Oracle workstation software or early Java applications that natively consume AU files
Frequently Asked Questions
Not during the AU conversion step itself. The AU format stores the audio as uncompressed PCM (pcm_s16be), so no additional lossy compression is applied. However, SWF files store audio as MP3 or AAC, which are both lossy formats — the quality ceiling of your AU output is already set by whatever compression was applied when the SWF was originally created. You're getting a lossless snapshot of already-lossy audio.
SWF files compress audio using MP3 or AAC codecs, which can reduce audio file size by 10x or more compared to raw PCM. The AU format with pcm_s16be stores every audio sample as an uncompressed 16-bit value, so there is no compression — a 1-minute audio track at 44.1kHz stereo will occupy roughly 10MB as PCM. This is expected behavior and not a sign of any problem with the conversion.
You can add the -ar flag to resample the audio, for example -ar 22050 to halve the sample rate, which reduces file size. To use a different PCM encoding instead of 16-bit big-endian, replace pcm_s16be with another AU-compatible codec such as pcm_mulaw (G.711 mu-law, commonly used in telephony) or pcm_alaw. For example: ffmpeg -i input.swf -vn -c:a pcm_mulaw -ar 8000 output.au would produce a telephone-quality AU file.
Yes. On Linux or macOS you can use a shell loop: for f in *.swf; do ffmpeg -i "$f" -vn -c:a pcm_s16be "${f%.swf}.au"; done. On Windows Command Prompt, use: for %f in (*.swf) do ffmpeg -i "%f" -vn -c:a pcm_s16be "%~nf.au". This processes every SWF in the current directory and saves a matching AU file for each one.
FFmpeg will return an error such as 'Output file does not contain any stream' because the -vn flag removes the video stream and if there is no audio stream either, there is nothing to write to the AU file. Many SWF files are purely visual animations with no audio. You can check whether your SWF contains audio first by running ffmpeg -i input.swf without an output file and reading the stream information it prints.
AU is a very old and simple format primarily associated with Sun Microsystems Unix workstations and early Java (Java's AudioSystem has native AU support). Most professional digital audio workstations like Audacity, Logic Pro, and Pro Tools can open AU files, but it is rarely a preferred delivery format today. If you need the extracted audio for modern workflows, consider converting the resulting AU file onward to WAV, which uses the same PCM data in a more universally supported container.
Technical Notes
The Sun AU format uses a minimal fixed header followed by raw audio data, making it one of the simplest audio container formats in existence. The default codec used here, pcm_s16be, stores samples as 16-bit signed integers in big-endian byte order — this matches the AU format's historical roots on big-endian SPARC and MIPS architectures. SWF's audio streams are typically sampled at 44100Hz, 22050Hz, or 11025Hz, and FFmpeg will preserve whatever sample rate was used in the source SWF without resampling unless you explicitly request a change. Metadata preservation is minimal: AU supports only basic header fields (sample rate, channel count, encoding type, and an optional annotation field), so any ID3 tags or other metadata embedded in the SWF's MP3 audio will be discarded. The SWF format does not support multiple audio tracks, so there is no ambiguity about which audio stream to extract. One known limitation is that some SWF files use proprietary or non-standard audio encoding that FFmpeg's SWF demuxer may not fully support, which can result in silence or decoding errors in the output.