Extract Audio from SWF to AIFF — Free Online Tool

Extract audio from SWF Flash files and save it as a lossless AIFF file using PCM encoding. This tool discards the Flash video and vector animation streams entirely, converting the compressed MP3 or AAC audio embedded in the SWF directly to uncompressed 16-bit big-endian PCM — the native lossless format used by macOS and professional Apple audio workflows.

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 graphics and FLV video. This conversion strips all video, animation, and interactive content using the -vn flag, then decodes the compressed audio stream and re-encodes it as PCM signed 16-bit big-endian (pcm_s16be) wrapped in an AIFF container. Because the SWF audio source is lossy (MP3 or AAC), the output AIFF will be a lossless representation of that already-compressed audio — the PCM encoding itself introduces no further quality loss, but the original lossy compression artifacts from the SWF source are preserved in the final file. The result is a large, uncompressed AIFF suitable for import into audio editors like Logic Pro or GarageBand.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg command-line tool. In the browser version of this tool, the same FFmpeg logic runs via WebAssembly (FFmpeg.wasm), so the command shown here is identical to what you would run in a terminal on your local machine.
-i input.swf Specifies the input SWF file. FFmpeg's SWF demuxer parses the Flash container to locate the embedded audio stream (typically MP3 or AAC) alongside the vector graphics and video data that will be discarded.
-vn Disables video output entirely, telling FFmpeg to ignore the FLV1 video codec and all Flash animation/vector graphics streams present in the SWF. Only the audio stream is passed through for encoding into AIFF.
-c:a pcm_s16be Decodes the compressed SWF audio (MP3 or AAC) and re-encodes it as signed 16-bit big-endian PCM — the standard uncompressed audio codec for the AIFF format. This introduces no further quality loss beyond what already exists in the SWF's lossy source audio.
output.aiff Defines the output filename and tells FFmpeg to wrap the PCM audio stream in an AIFF container, the uncompressed lossless audio format developed by Apple and natively supported by macOS applications like Logic Pro and GarageBand.

Common Use Cases

  • Recovering audio from legacy SWF Flash animations or games now that Flash Player is discontinued and browsers no longer support SWF playback
  • Extracting voice-over narration or background music from Flash-based e-learning courses to repurpose in modern training videos
  • Archiving the audio track from SWF promotional animations or web ads into a lossless format for long-term preservation
  • Importing extracted Flash audio into Logic Pro or GarageBand on macOS, which natively handle AIFF without additional conversion
  • Pulling sound effects or jingles embedded in SWF files for use in video editing timelines that require uncompressed audio input
  • Digitally archiving audio from old Flash cartoon episodes or web series where only the SWF source file survives

Frequently Asked Questions

Not in the strictest sense. The AIFF output is uncompressed PCM, which means no additional quality loss occurs during this conversion — but SWF files typically store audio as MP3 (libmp3lame) or AAC, both of which are lossy formats. The lossy compression artifacts already baked into the SWF source audio will still be present in the AIFF file. Think of it as lossless preservation of a lossy source: you get the best possible reproduction of what was in the SWF, without degrading it further.
SWF files compress audio using MP3 or AAC codecs, which can achieve compression ratios of 10:1 or higher. The output AIFF stores the same audio as raw uncompressed PCM at 16-bit depth, meaning every second of stereo audio at 44.1kHz takes roughly 172KB. A 5MB SWF with a 3-minute audio track could easily produce a 30MB+ AIFF. This size increase is expected and is the nature of lossless uncompressed audio storage.
If the SWF file contains no audio stream, FFmpeg will return an error or produce an empty output file because there is no audio to decode. You can check whether a SWF has an audio track by running ffprobe on it first. SWF files used purely for vector UI elements or banner ads often contain no audio at all.
Replace pcm_s16be in the command with pcm_s24be to get 24-bit big-endian PCM, which is commonly used in professional audio production. The full modified command would be: ffmpeg -i input.swf -vn -c:a pcm_s24be output.aiff. Note that since the SWF source audio is already lossy MP3 or AAC, increasing the bit depth beyond 16-bit will not recover any lost detail — it only increases file size. For archival or DAW import purposes, 16-bit is generally sufficient.
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}.aiff"; done. On Windows Command Prompt: for %f in (*.swf) do ffmpeg -i "%f" -vn -c:a pcm_s16be "%~nf.aiff". This is especially useful when archiving large collections of legacy Flash content where only the SWF files remain.
SWF files rarely carry standard audio metadata tags in a way FFmpeg can read, so it is unlikely that any title, artist, or album information will carry over to the AIFF output. AIFF supports ID3-compatible metadata chunks, but you would typically need to add tags manually after extraction using a tool like bwfmetaedit or an audio editor. Do not rely on this conversion to preserve embedded metadata.

Technical Notes

SWF is a complex container that interleaves binary ActionScript bytecode, vector shape definitions, timeline frames, and compressed audio/video streams in a proprietary chunk-based format. FFmpeg's SWF demuxer can parse the audio stream (most commonly MP3 encoded with libmp3lame at bitrates between 64k and 128k, or less commonly AAC) but has limited support for more complex or highly interactive SWF structures — very old SWF files or those with unusual encoding may fail to demux correctly. The output codec pcm_s16be uses signed 16-bit samples stored in big-endian byte order, which is the native byte order for the AIFF format as defined by Apple and the IFF specification. If you plan to import the AIFF into a Windows-first DAW, note that WAV uses little-endian PCM (pcm_s16le) and may be more compatible. AIFF does not support multiple audio tracks, chapters, or subtitles, so only the first audio stream from the SWF will be extracted. Because Flash Player reached end-of-life in December 2020 and browsers have removed SWF support entirely, FFmpeg may be one of the only remaining tools capable of reliably demuxing SWF audio for archival purposes.

Related Tools