Convert SWF to OGG — Free Online Tool
Extract and convert the audio track from an SWF Flash file into an OGG Vorbis file — an open, royalty-free format ideal for web streaming and Linux-compatible media players. The conversion decodes the SWF's embedded MP3 or AAC audio and re-encodes it using the libvorbis codec, discarding the Flash animation and interactive layers entirely.
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 are Flash containers that bundle vector animation, interactivity, and embedded audio — typically MP3 (FLV1/libmp3lame) or AAC — into a single file. During this conversion, FFmpeg demuxes the SWF container to extract the raw audio stream, then re-encodes it using the libvorbis encoder into an OGG container. There is no video output: the animation, ActionScript, and visual layers are discarded. Because the source audio is already lossy (MP3 or AAC) and libvorbis is also lossy, this is a generation loss transcode — each re-encode introduces some additional quality degradation. The OGG output is a pure audio file, compatible with open-source media players, web browsers via the HTML5 audio element, and Linux-based systems where Flash was rarely supported.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg binary, the open-source multimedia processing engine that handles SWF demuxing and libvorbis encoding in this conversion. |
-i input.swf
|
Specifies the input SWF file. FFmpeg uses its built-in SWF demuxer to parse the Flash container and locate the embedded audio stream (typically MP3 or AAC), ignoring the animation and ActionScript data. |
-c:a libvorbis
|
Sets the audio encoder to libvorbis, which re-encodes the extracted SWF audio into the Ogg Vorbis format — an open, royalty-free codec that is the standard audio codec for OGG containers and natively supported by most open-source media players and modern browsers. |
-q:a 4
|
Sets the libvorbis variable bitrate quality level to 4 on a 0–10 scale, targeting approximately 128 kbps average — a reasonable match for the quality level of most legacy Flash audio sources and a good balance between file size and fidelity. |
output.ogg
|
Defines the output file as an OGG container. FFmpeg infers from the .ogg extension that the output should be wrapped in an Ogg bitstream, which carries the libvorbis-encoded audio extracted from the SWF. |
Common Use Cases
- Recovering background music or sound effects from old Flash games or interactive websites before those SWF files become permanently inaccessible
- Extracting voiceover narration from legacy Flash e-learning modules to repurpose audio content in modern LMS platforms that no longer support Flash
- Converting Flash animation soundtracks into OGG format for use in open-source game engines like Godot, which natively prefer OGG Vorbis audio
- Archiving audio from Flash-based music players or interactive albums that were distributed in SWF format during the 2000s
- Stripping the audio from a Flash advertisement or promo clip to reuse the jingle or voiceover in a new non-Flash campaign asset
- Preparing audio extracted from SWF files for Wikipedia or Wikimedia Commons uploads, which accept OGG Vorbis as their preferred open audio format
Frequently Asked Questions
Yes, some quality loss is expected. The audio inside an SWF file is already lossy-compressed — typically as MP3 using libmp3lame or as AAC. Re-encoding that audio into OGG Vorbis using libvorbis is a second generation of lossy compression, which introduces additional artifacts. For casual listening or archival of legacy Flash content, the quality difference at the default -q:a 4 setting is usually imperceptible, but for professional audio work you should be aware this is not a lossless extraction.
No. OGG is a pure audio container and cannot store video, vector graphics, or ActionScript interactivity. This conversion extracts only the embedded audio stream from the SWF file. Everything else — the animation timeline, buttons, scripts, and visual elements — is discarded entirely. If you need to preserve the visual content, OGG is not the right output format.
Not all SWF files contain an embedded audio stream. Some Flash files use external audio loaded dynamically at runtime via ActionScript, which means the audio data is never physically inside the SWF itself. FFmpeg can only extract audio that is literally embedded within the SWF container. If your file falls into this category, FFmpeg will either produce an empty file or throw an error — and no conversion tool can recover audio that isn't present in the file.
Adjust the -q:a value, which controls libvorbis variable bitrate quality. The scale runs from 0 (lowest quality, smallest file) to 10 (highest quality, largest file), with 4 as the default (roughly 128 kbps average). For example, use '-q:a 6' for higher fidelity or '-q:a 2' to minimize file size. Since the source is already lossy Flash audio, going above -q:a 6 rarely produces a noticeable improvement and only increases file size.
Yes, on the command line you can use a shell loop to process multiple files. On Linux or macOS, run: for f in *.swf; do ffmpeg -i "$f" -c:a libvorbis -q:a 4 "${f%.swf}.ogg"; done. On Windows PowerShell, use: Get-ChildItem *.swf | ForEach-Object { ffmpeg -i $_.FullName -c:a libvorbis -q:a 4 ($_.BaseName + '.ogg') }. The browser-based tool on this page processes one file at a time.
Yes, the OGG container supports multiple audio codecs. You can substitute '-c:a libopus' for a more modern, efficient codec that often sounds better at low bitrates — pair it with '-b:a 96k' since Opus uses bitrate-based control rather than the Vorbis quality scale. You can also use '-c:a flac' for lossless encoding, though this won't recover quality already lost in the SWF's original lossy audio. Opus is generally the better choice for new projects targeting modern browsers and devices.
Technical Notes
SWF files present some unusual challenges for FFmpeg demuxing. The format was designed for real-time Flash Player rendering, not offline extraction, so audio may be interleaved with animation frame data in ways that require FFmpeg's SWF demuxer to reconstruct the stream. The embedded audio is almost always lossy — MP3 at fixed bitrates like 128 kbps was the Flash standard for years, with AAC appearing in later SWF versions. Because libvorbis uses a variable bitrate (VBR) quality scale rather than fixed bitrates, the default -q:a 4 produces roughly 128 kbps on average, closely matching typical SWF audio source quality. OGG Vorbis supports chapter markers and multiple audio tracks in the container spec, but these features are irrelevant for SWF extraction since SWF audio is a single, continuous stream with no chapter metadata. ID3 or XMP metadata embedded in Flash audio is generally not preserved during demux — the output OGG file will have minimal metadata unless you add tags manually using FFmpeg's -metadata flag. File size changes are unpredictable: a large SWF with heavy animation but light audio will produce a much smaller OGG, while a music-heavy SWF might produce an OGG of comparable size to the original.