Extract Audio from SWF to OGG — Free Online Tool

Extract audio from SWF Flash files and save it as OGG Vorbis — ideal for recovering music, sound effects, or voiceovers embedded in legacy Flash animations and interactive content. The Vorbis codec delivers excellent open-format audio quality with efficient compression, making OGG a great archival and streaming choice.

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 MP3 (encoded with libmp3lame) or AAC streams alongside Flash vector animation and ActionScript logic. This tool strips the video and interactive layers entirely using the -vn flag, then re-encodes the extracted audio stream into OGG Vorbis format using the libvorbis encoder. Because SWF's native MP3 or AAC audio must be transcoded into Vorbis — a different codec — the audio is decoded and re-encoded rather than simply remuxed. The default quality setting of -q:a 4 targets a variable bitrate around 128–160 kbps, which preserves most perceptible audio detail from the original Flash source while keeping file sizes manageable.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg tool, which handles demuxing the SWF container, decoding the embedded Flash audio stream, and re-encoding it into the target OGG Vorbis format.
-i input.swf Specifies the input SWF file. FFmpeg's SWF demuxer reads the Flash container, separating out the audio stream (typically MP3 or AAC) from the vector graphics and ActionScript layers.
-vn Disables video output, discarding all non-audio data from the SWF — including Flash vector graphics, animation frames, and interactive elements — so only the audio stream is processed.
-c:a libvorbis Specifies the libvorbis encoder to transcode the extracted SWF audio (MP3 or AAC) into Ogg Vorbis, an open and royalty-free audio codec that is the standard audio format within OGG containers.
-q:a 4 Sets the Vorbis variable bitrate quality level to 4 on a 0–10 scale, targeting approximately 128–160 kbps. This balances file size and audio fidelity appropriately for typical Flash content like music, narration, and sound effects.
output.ogg Defines the output filename and tells FFmpeg to wrap the encoded Vorbis audio stream in an OGG container, which also supports optional metadata tags and chapter markers for more advanced use cases.

Common Use Cases

  • Salvaging background music or soundtracks from old Flash games or animations before they become permanently inaccessible due to Flash's end-of-life
  • Extracting voiceover narration from Flash-based e-learning modules to repurpose in modern audio players or accessible formats
  • Recovering sound effects embedded in SWF interactive content for use in video editing or game development projects
  • Archiving audio from Flash advertisements or brand content where the original audio source files have been lost
  • Converting Flash cartoon audio tracks into OGG for use on Linux-based systems and open-source media players that prefer royalty-free formats
  • Isolating music beds from Flash web banners or promotional animations to use in presentations or social media content

Frequently Asked Questions

Yes, some quality loss is unavoidable. SWF files store audio as MP3 or AAC, both of which are already lossy formats. Transcoding from one lossy codec to another (in this case, to Vorbis) introduces a second generation of compression artifacts. The quality loss at the default -q:a 4 setting is generally subtle and difficult to hear for most content, but if the original SWF audio was already heavily compressed at a low bitrate, the result may sound noticeably degraded.
SWF is a multimedia container that bundles vector graphics, ActionScript code, and audio into a single file. OGG is a pure audio container with no ability to store video frames, vector graphics, or scripting. The -vn flag in the FFmpeg command explicitly discards all non-audio streams, so only the audio data is extracted and re-encoded. If you need to preserve the visual content, you would need to convert to a video format like MP4 instead.
Adjust the -q:a value to control Vorbis quality. The scale runs from 0 (lowest, roughly 64 kbps) to 10 (highest, roughly 500 kbps), with 4 being the default (around 128–160 kbps). For example, use -q:a 6 for higher quality output around 192–256 kbps, or -q:a 2 for a smaller file at around 80–96 kbps. Unlike the -b:a flag which sets a fixed bitrate, -q:a uses Vorbis's variable bitrate (VBR) mode, which is generally more efficient.
Most SWF files embed audio as a single mixed stream rather than discrete multi-track audio, so in practice you will typically get one audio track. SWF's format does not officially support multiple independent audio tracks the way formats like MKV do. If the SWF does contain separate audio streams, FFmpeg will select the default audio stream automatically; you can specify a particular stream with the -map flag if needed.
SWF files rarely carry meaningful embedded audio metadata like artist or title tags, as they were designed for web delivery of interactive content rather than audio archiving. OGG Vorbis natively supports rich metadata via Vorbis Comment tags, but since the source SWF typically has none to extract, the output OGG will usually have no embedded tags. You can add metadata manually using FFmpeg's -metadata flag, for example: -metadata title='My Track'.
Yes. On Linux or macOS, you can use a shell loop: for f in *.swf; do ffmpeg -i "$f" -vn -c:a libvorbis -q:a 4 "${f%.swf}.ogg"; done. On Windows Command Prompt, use: for %f in (*.swf) do ffmpeg -i "%f" -vn -c:a libvorbis -q:a 4 "%~nf.ogg". This is particularly useful for archiving entire collections of legacy Flash files in one pass.

Technical Notes

SWF audio is almost universally encoded as MP3 (via libmp3lame) at bitrates ranging from 32 kbps to 192 kbps depending on the Flash content's original production settings, with AAC appearing less frequently in later SWF versions. FFmpeg's SWF demuxer is reasonably mature but can occasionally struggle with malformed or heavily obfuscated SWF files, particularly those using compression (ZSWF/CWS) — though FFmpeg handles zlib-compressed SWF automatically. The output OGG container using libvorbis is fully royalty-free and widely supported in Firefox, Chromium, VLC, and most Linux media players, though it is not natively supported in Apple ecosystem apps without third-party codecs. If you need compatibility with Apple devices or iTunes, consider using OGG with the Opus codec (-c:a libopus) or switching to a different output format entirely. For archival purposes where lossless preservation is critical, OGG with FLAC encoding (-c:a flac) is an option, though it will produce significantly larger files and the source audio was already lossy to begin with.

Related Tools