Extract Audio from SWF to AIF — Free Online Tool

Extract audio from SWF Flash files and save it as a lossless AIF file using PCM encoding. This tool strips the video stream entirely and decodes the compressed MP3 or AAC audio embedded in the SWF container into uncompressed 16-bit big-endian PCM — the native format for high-fidelity audio storage on Apple systems.

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 store audio as compressed streams using either MP3 (libmp3lame) or AAC — both lossy formats baked into the Flash container. During this conversion, FFmpeg reads the SWF file, discards the video stream entirely (whether FLV1 or MJPEG encoded), and decodes the compressed audio to raw PCM samples. Those samples are then written out as a 16-bit big-endian PCM stream inside an AIF container. Because AIF is uncompressed and lossless at the container level, the output file is a faithful PCM representation of whatever audio was embedded in the SWF — though any quality loss from the original lossy compression in the SWF itself cannot be recovered. The result is a clean, widely compatible AIF file ready for use in Apple audio software or professional DAWs.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary — the open-source multimedia processing engine that powers this conversion. In the browser tool, this runs as FFmpeg.wasm compiled to WebAssembly, with no server involvement.
-i input.swf Specifies the input SWF file. FFmpeg's SWF demuxer reads the Flash container and identifies the embedded streams — typically an FLV1 or MJPEG video track and an MP3 or AAC audio track.
-vn Disables video output entirely, ensuring FFmpeg ignores the FLV1 or MJPEG video stream in the SWF and writes only audio to the AIF file. Without this flag, FFmpeg would attempt to process the video stream, which AIF cannot contain.
-c:a pcm_s16be Sets the audio codec to 16-bit signed big-endian PCM, which is the standard uncompressed audio encoding used in AIF files. This decodes the compressed MP3 or AAC audio from the SWF into raw, uncompressed samples in the byte order AIF expects.
output.aif Defines the output filename and tells FFmpeg to write an AIF container. The .aif extension signals FFmpeg to use the AIFF muxer, which wraps the PCM audio stream in Apple's Audio Interchange File Format structure.

Common Use Cases

  • Recovering background music or sound effects from legacy Flash animations or games before SWF files become unplayable due to Flash's end-of-life
  • Extracting narration or voice-over audio from old Flash e-learning modules to repurpose in modern LMS platforms
  • Pulling jingles or audio branding from Flash-based advertisements to archive or reuse in new campaigns
  • Converting SWF-embedded audio to AIF for import into Logic Pro, GarageBand, or Pro Tools for audio editing and mastering
  • Archiving audio tracks from Flash-era interactive web content as uncompressed AIF files for long-term preservation
  • Extracting game sound effects or music from Flash browser games for use in retro game tribute projects or remixes

Frequently Asked Questions

No — and this is an important distinction. AIF with PCM encoding is a lossless container, but the audio inside a SWF is almost always already compressed using MP3 or AAC, both of which are lossy formats. This conversion decodes that lossy audio to uncompressed PCM, so the AIF file is a perfect copy of the decoded audio, but it cannot restore detail that was lost when the audio was first compressed into the SWF. Think of it as lossless preservation of whatever quality remains — useful for archiving and editing without introducing any further degradation.
SWF files store audio as compressed MP3 or AAC streams, which can be 10–20x smaller than uncompressed PCM audio. When FFmpeg decodes that audio into AIF's PCM format, there is no compression applied — every sample is stored as a raw 16-bit value. A SWF with a 3-minute MP3 audio track at 128kbps might be around 3MB, while the equivalent uncompressed 16-bit stereo PCM AIF at 44.1kHz would be approximately 30MB. This size increase is expected and is the tradeoff for having an uncompressed, edit-ready audio file.
Replace `pcm_s16be` with `pcm_s24be` in the command: `ffmpeg -i input.swf -vn -c:a pcm_s24be output.aif`. The AIF format supports several PCM variants including 16-bit (`pcm_s16be`), 24-bit (`pcm_s24be`), and 32-bit (`pcm_s32be`) big-endian signed integer formats, as well as 32-bit and 64-bit floating-point. Since the source audio in the SWF is already lossy at lower bit depths, 16-bit is generally sufficient, but 24-bit is a common choice for professional audio workflows in Logic Pro or Pro Tools.
Yes — on macOS or Linux, you can use a shell loop: `for f in *.swf; do ffmpeg -i "$f" -vn -c:a pcm_s16be "${f%.swf}.aif"; done`. On Windows Command Prompt, use: `for %f in (*.swf) do ffmpeg -i "%f" -vn -c:a pcm_s16be "%~nf.aif"`. This processes each SWF in the current directory and saves a corresponding AIF file. Batch processing in the browser tool requires handling files individually, so the FFmpeg command is especially useful for bulk archiving Flash audio libraries.
If the SWF file contains no audio stream, FFmpeg will return an error because there is nothing to write to the AIF output. SWF files used purely for vector animation or interactive UI elements without sound will fail at the audio extraction stage. You can check whether a SWF has an audio track by running `ffprobe input.swf` and looking for an audio stream in the output before attempting the conversion.
AIF was developed by Apple and has historically been most common on macOS, but it is widely supported on Windows as well. Applications like Adobe Audition, Audacity, VLC, and most professional DAWs on Windows can open and edit AIF files without any issues. However, if you need a more universally compatible uncompressed format for Windows-centric workflows, you might consider using WAV instead, which stores the same PCM audio in a little-endian container more native to Windows. The FFmpeg command would then be: `ffmpeg -i input.swf -vn -c:a pcm_s16le output.wav`.

Technical Notes

SWF's audio streams are embedded as either MP3 (the default for most Flash content) or AAC, both lossy codecs, so no amount of lossless output formatting can recover the original pre-compression signal. FFmpeg's SWF demuxer handles both audio codec types, but some older or malformed SWF files with non-standard stream layouts may not demux cleanly. AIF uses big-endian byte ordering for its PCM data, which is the native byte order for the PowerPC and 68k Macs the format was designed for — this is why the codec is `pcm_s16be` (signed 16-bit big-endian) rather than the little-endian `pcm_s16le` used in WAV files. Modern macOS software handles this transparently. Metadata from the SWF (such as any embedded title or artist tags) is generally not preserved in the AIF output since SWF does not use standardized audio metadata containers. The `-vn` flag is essential here: without it, FFmpeg would attempt to include video in the output, which AIF does not support and would cause an error.

Related Tools