Extract Audio from SWF to OGA — Free Online Tool
Extract audio from SWF Flash files and save it as an OGA file encoded with the Vorbis codec — an open, royalty-free format ideal for web audio and archiving. This tool strips the video and Flash interactivity layers, isolating the embedded MP3 or AAC audio stream and re-encoding it as Vorbis inside an Ogg container, entirely in your browser.
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 embed audio as MP3 (via the libmp3lame codec) or AAC streams alongside Flash vector graphics and ActionScript interactivity. During this conversion, FFmpeg discards all video and interactive content entirely (using the -vn flag) and decodes the embedded audio stream. That raw audio is then re-encoded using the Vorbis codec at a variable quality setting of q:a 4, which targets roughly 128kbps. The result is placed in an OGA container — an Ogg-based, audio-only wrapper that is an open standard and widely supported in modern browsers and media players. Because the original audio codec (MP3 or AAC) differs from the output codec (Vorbis), a full decode-and-reencode is required rather than a simple stream copy, which means some generational quality loss is inherent to the process.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg tool, which handles all demuxing, decoding, re-encoding, and muxing for this conversion. When run in-browser, it executes via FFmpeg.wasm (WebAssembly); the same command works identically on a desktop FFmpeg installation. |
-i input.swf
|
Specifies the input SWF file. FFmpeg's SWF demuxer parses the file's binary tag structure to locate embedded video, audio, and ActionScript streams. Only the audio stream will be used in subsequent processing steps. |
-vn
|
Disables video output entirely, discarding all SWF video content (typically FLV1/Sorenson Spark encoded frames) and the Flash graphical layer. This is essential for producing a clean audio-only OGA file without any video stream. |
-c:a libvorbis
|
Encodes the output audio using the Vorbis codec via the libvorbis library. Vorbis is the default and most widely supported audio codec for the OGA/Ogg container, and it is an open, royalty-free format well-suited for web audio distribution. |
-q:a 4
|
Sets the Vorbis encoder to variable-bitrate quality level 4 on a 0–10 scale, targeting approximately 128kbps. This is a balanced default that preserves good perceptual audio quality from the source SWF's MP3 or AAC stream without unnecessarily inflating file size. |
output.oga
|
Defines the output filename and signals FFmpeg to mux the Vorbis audio stream into an Ogg container. The .oga extension specifically identifies this as an audio-only Ogg file, distinguishing it from .ogv (video) or the generic .ogg extension. |
Common Use Cases
- Recovering background music or sound effects embedded in a legacy SWF Flash game or animation for use in a new project
- Archiving the audio track from an old SWF-based e-learning module or interactive presentation before Flash support is removed from the environment
- Extracting voiceover narration from a Flash-based corporate training video to create a standalone audio file for podcast or transcript use
- Pulling jingles or audio branding from SWF banner advertisements for use in other media without the Flash wrapper
- Converting Flash cartoon audio tracks to OGA for use on a website that serves open-format media via the HTML5 audio element
- Isolating interview or commentary audio from an old SWF video player file to preserve it in a modern, playable format
Frequently Asked Questions
Yes, some quality loss is unavoidable in this conversion. SWF files embed audio as MP3 or AAC, both of which are already lossy formats. The conversion decodes that compressed audio to raw PCM and then re-encodes it as Vorbis, which is a second generation of lossy compression. The default q:a 4 setting produces good perceptual quality and is generally clean-sounding, but artifacts from the original MP3 or AAC encoding may be amplified. If the source SWF contains very low-bitrate audio (common in older Flash animations), the output quality will reflect that ceiling regardless of the Vorbis quality setting.
Both OGG and OGA use the same underlying Ogg container format, but the file extension convention differs by content. OGG is a general extension historically used for Ogg files containing any stream type, while OGA specifically signals that the file contains only audio — making it easier for media players and web servers to identify and handle the file correctly. For a pure audio extraction like this one, OGA is the more precise and semantically correct extension.
Yes. FFmpeg automatically detects whether the SWF's audio stream is encoded as MP3 (libmp3lame) or AAC and decodes it appropriately before re-encoding to Vorbis. You do not need to specify the input codec manually. The -c:a libvorbis flag in the command refers only to the output codec, so the input audio format is handled transparently regardless of which codec the SWF author chose.
Adjust the -q:a value, which controls Vorbis variable-bitrate quality on a scale from 0 (lowest, ~64kbps) to 10 (highest, ~500kbps). The default of 4 targets roughly 128kbps and is a good balance for most audio. For music or high-fidelity content, try -q:a 6 or -q:a 7. For voice-only audio like narration where file size matters more, -q:a 2 or -q:a 3 is typically sufficient. For example: ffmpeg -i input.swf -vn -c:a libvorbis -q:a 6 output.oga
Yes, you can use a shell loop on desktop to batch process files. On Linux or macOS, run: for f in *.swf; do ffmpeg -i "$f" -vn -c:a libvorbis -q:a 4 "${f%.swf}.oga"; done — this iterates over every SWF in the current directory and extracts the audio to a matching OGA file. On Windows Command Prompt, use: for %f in (*.swf) do ffmpeg -i "%f" -vn -c:a libvorbis -q:a 4 "%~nf.oga". The in-browser tool processes one file at a time.
SWF files do not have a standardized metadata tag structure comparable to formats like MP4 or MKV, so there is typically little or no metadata to carry forward. OGA via the Ogg container supports Vorbis comment tags (title, artist, album, etc.), but these will only be populated if FFmpeg finds corresponding metadata in the SWF source, which is rare. You can add or edit tags in the output file after conversion using a tool like EasyTag or mid3v2.
Technical Notes
SWF was designed as a delivery format for interactive Flash content, not as an audio container, so audio extraction carries some caveats. The audio stream in an SWF is typically interleaved with vector drawing commands and ActionScript bytecode, and FFmpeg's SWF demuxer must parse the file's tag structure to locate and extract the audio data. Most SWF files use MP3 audio at bitrates between 32kbps and 128kbps; AAC appears less frequently and primarily in SWF version 10+ files. The output Vorbis codec is patent-free and open, making OGA files well-suited for HTML5 web audio delivery without licensing concerns. However, Vorbis is less universally supported than MP3 on non-browser platforms (e.g., some older Android apps, certain car audio systems), so if broad device compatibility is a priority, consider extracting to MP3 instead. The Ogg container used in OGA supports chapter markers, but since there is no chapter data in SWF source files, the output will not include chapter metadata. One known limitation: SWF files that use streaming audio (where audio is split across many SWF frames) may produce audio with minor timing artifacts during extraction, since the demuxer reconstructs the stream from fragmented frame data.