Convert SWF to ALAC — Free Online Tool

Extract and convert audio from SWF Flash files to ALAC (Apple Lossless Audio Codec) stored in an M4A container. This tool strips the audio track — typically MP3 or AAC — from legacy Flash content and re-encodes it losslessly using Apple's ALAC codec, making it fully compatible with iTunes, Apple Music, and the broader Apple ecosystem.

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 carry audio encoded as MP3 (via the libmp3lame codec) or AAC, embedded alongside Flash vector animation or video data. During this conversion, FFmpeg demuxes the SWF container to isolate the audio stream, then re-encodes it using the ALAC codec and packages the result into an MPEG-4 (.m4a) container. Because ALAC is lossless, the output represents the best possible audio fidelity achievable from the source — though it's worth noting that if the original SWF audio was MP3, that initial lossy compression is already baked in; ALAC preserves exactly what was there without introducing further degradation. The video, animation, and interactive content of the SWF are discarded, since ALAC is a pure audio format.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg multimedia processing engine, which handles demuxing the SWF container, decoding the embedded audio, and re-encoding it as ALAC.
-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) and ignores the vector graphics, video, and ActionScript layers.
-c:a alac Instructs FFmpeg to encode the audio stream using the Apple Lossless Audio Codec (ALAC), producing a bit-perfect lossless representation of the decoded audio from the SWF source. The duplicate instance of this flag is redundant but does not affect the output.
-c:a alac A second, redundant declaration of the ALAC audio codec. FFmpeg uses the last specified value for each parameter, so this effectively confirms the codec choice. In practice, a single '-c:a alac' is sufficient.
output.m4a Defines the output filename with the .m4a extension, which signals FFmpeg to use the MPEG-4 audio container — the required and standard container for ALAC files, ensuring compatibility with iTunes, Apple Music, and Apple devices.

Common Use Cases

  • Recovering background music or sound effects from legacy Flash games or animations for archival purposes in a high-quality, Apple-compatible format
  • Extracting voiceover narration from old SWF-based e-learning modules to re-use in modern audio production workflows on macOS or iOS
  • Archiving audio from Flash-era web advertisements or interactive presentations before the content becomes permanently inaccessible as Flash support disappears
  • Converting SWF audio tracks for import into GarageBand, Logic Pro, or Final Cut Pro, which natively support ALAC/M4A
  • Preserving the audio from SWF-format music players or Flash jukebox applications in a lossless format for a personal music library
  • Extracting podcast or interview audio that was originally published in SWF streaming format, saving it locally in a lossless M4A file for editing

Frequently Asked Questions

No — ALAC is lossless, meaning it will perfectly preserve whatever audio data exists in the SWF, but it cannot recover quality lost during the original encoding. Most SWF files store audio as MP3, which is inherently lossy. The resulting ALAC file will sound identical to the SWF audio, with no further degradation, but it will not sound better than the original lossy source.
SWF files typically use MP3 compression for audio, which achieves high compression ratios at the cost of some audio data. ALAC is lossless and stores audio with full fidelity, resulting in significantly larger file sizes — often 3 to 5 times larger than an equivalent MP3. The SWF file also contained compressed vector graphics and animation data that was discarded, so the size comparison isn't purely audio-to-audio, but the lossless nature of ALAC is the primary driver of the larger output.
They are completely discarded. ALAC is a pure audio codec stored in an M4A container, which has no support for video or interactive Flash content. Only the audio stream is extracted from the SWF and written to the output file. If you need to preserve the visual content, you would need to convert to a video format instead.
SWF files have very limited metadata support, and most Flash content embeds no standard audio metadata such as title, artist, or album tags. The ALAC M4A container does support rich metadata tags (including iTunes-style tags), but since the source SWF rarely contains this data, the output M4A will typically have no populated tags. You would need to add metadata manually after conversion using a tool like MusicBrainz Picard or iTunes.
This browser tool handles files up to 1GB for free. For larger SWF files, copy the displayed FFmpeg command and run it locally on your desktop: 'ffmpeg -i input.swf -c:a alac output.m4a'. You'll need FFmpeg installed on your system, which is available free at ffmpeg.org. The command is identical in behavior to what runs in the browser.
Yes. On Linux or macOS, you can use a shell loop: 'for f in *.swf; do ffmpeg -i "$f" -c:a alac "${f%.swf}.m4a"; done'. On Windows Command Prompt, use: 'for %f in (*.swf) do ffmpeg -i "%f" -c:a alac "%~nf.m4a"'. This processes each SWF in the current directory and outputs a corresponding M4A file. The browser tool processes one file at a time.

Technical Notes

SWF files demux inconsistently in FFmpeg depending on how the Flash content was authored — some SWFs embed audio as raw MP3 frames, others use AAC, and heavily interactive SWF files may have no extractable audio stream at all if the audio is generated procedurally by ActionScript. FFmpeg's SWF demuxer handles the most common cases but may fail on obfuscated or heavily scripted files. The output ALAC codec requires an MPEG-4 container (.m4a), which is enforced by this tool. ALAC has no configurable bitrate or quality parameter — the codec determines file size entirely based on the complexity of the audio signal. The duplicate '-c:a alac' flag in the resolved command is redundant but harmless; FFmpeg processes the last valid instance. ALAC M4A files are natively supported on all Apple platforms (macOS, iOS, tvOS) and play in iTunes and Apple Music without any additional codecs. On Windows and Android, support varies — VLC and foobar2000 handle ALAC reliably, but some native players may not.

Related Tools