Initializing... drag & drop files here
Supports: SWF
SWF (Small Web Format) was Adobe Flash's container for vector animation, ActionScript, and embedded audio. Adobe ended Flash support on December 31, 2020, and all major browsers pulled the plugin shortly after. The audio inside legacy SWFs — game music, e-learning narration, animation soundtracks — is usually encoded as MP3 or ADPCM (Flash's proprietary block-ADPCM variant) and is locked behind a runtime almost nothing plays anymore. WEBA (a WebM file holding only an audio track, almost always Opus) is the modern open-source replacement: royalty-free, smaller than MP3 at equal quality, and natively decodable by every current browser.
| Property | SWF | WEBA |
|---|---|---|
| Container type | Adobe Flash multimedia (vector + audio + script) | WebM, Matroska-derived, audio-only profile |
| Audio codecs supported | MP3, ADPCM (block), Nellymoser, Speex, raw PCM | Opus (default), Vorbis |
| Vector graphics / animation | Yes (the original purpose) | No — audio only |
| Maximum sample rate | 44.1 kHz (Flash spec ceiling) | 48 kHz (Opus internal), 192 kHz (Vorbis) |
| Multichannel support | Mono or stereo | Up to 255 channels (Opus) |
| Bitrate range typical | 8-128 kbps MP3, 11-44 kbps ADPCM | Opus 6-510 kbps, Vorbis 32-500 kbps |
| Browser support (May 2026) | None native; Ruffle emulator partial | Chrome, Firefox, Edge, Safari 14.1+, Opera |
| Royalty / licensing | Proprietary (Adobe, EOL 2020-12-31) | Royalty-free (Opus is IETF RFC 6716) |
| Typical use today | Legacy archive only | HTML5 audio, WebRTC, podcasting |
Opus is the default audio codec inside WEBA and adapts gracefully across a huge bitrate range. Pick by content type:
| Bitrate (VBR) | Quality target | Best for |
|---|---|---|
| 6-24 kbps | Intelligible speech | Voicemail-style clips, very long-form narration |
| 24-40 kbps | Clear speech | Audiobook chapters, podcasts (mono) |
| 48-64 kbps | Good speech / acceptable music | Stereo podcasts, lecture recordings |
| 64-96 kbps | Transparent for most music | Background music, game OSTs |
| 96-128 kbps | Audibly transparent stereo music | Music libraries, web embeds — Opus at 96 kbps beats AAC at the same rate per the Xiph listening tests |
| 128-192 kbps | Near-archival music | Mastering reference, audiophile uploads |
| 192-510 kbps | Maximum-fidelity Opus | Rare; surround mixes, multichannel masters |
That's expected. Flash typically embedded MP3 at 128 kbps or ADPCM at high overhead; Opus at the default 128 kbps preset (or the VERY_HIGH quality preset) is roughly 20-30% more efficient than MP3, so the same perceptual quality lands in a smaller file. If you need a byte-for-byte match, use "Specific file size" under File Compression and enter the SWF's original audio size in MB.
Yes. The converter decodes every audio codec Flash ever shipped (MP3, ADPCM, Nellymoser Asao, Speex, raw uncompressed PCM) and re-encodes to Opus. Nellymoser was Flash's low-bitrate speech codec from FlashCom era (2002-2006); it sounds rough at the source, so don't expect Opus to magically restore fidelity — but the resulting WEBA will play in every modern browser whereas Nellymoser-in-SWF won't.
Yes. Open the Trim group in Advanced Options, set Start (in seconds) to the offset you want to begin at, and Duration to how many seconds to keep. Defaults are 0 / 10 — change them to your actual timestamps. For multi-clip extraction, run the conversion once per range; xconvert doesn't currently support multiple trim ranges per file.
Opus, for almost every case. Opus (IETF RFC 6716, standardized September 2012) is newer, beats Vorbis at every bitrate per published listening tests, and is supported everywhere WebM is. Vorbis only makes sense if you're targeting a very old player that pre-dates 2013 — extremely unlikely in 2026. The converter defaults to Opus for WEBA; you'd have to explicitly select Vorbis under Audio Codec.
Three likely causes: (1) the SWF uses streaming sound triggered by ActionScript that the decoder can't replay deterministically — try SWF to MP3 instead, which uses a different extraction path; (2) the audio is event sound with very short symbols that get muted on linear decode; (3) the SWF has no embedded audio and only synthesized tones via ActionScript Sound objects, which cannot be extracted because they don't exist as a stored asset. Inspect the SWF with JPEXS Free Flash Decompiler to confirm whether audio assets are present.
Both are containers that carry Opus. WEBA (.weba) is a WebM-profile container intended for web playback alongside WebM video. .ogg with Opus inside (sometimes called .opus) is the original Xiph container. They hold identical encoded audio — only the wrapper differs. WEBA tends to be preferred when you'll also use WebM video on the same site; .opus is the standalone audio default. Use SWF to OGG if you want the Xiph wrapper instead.
Most SWF "protection" tools obfuscate ActionScript, not the embedded audio streams — the audio is still extractable. Truly DRM-protected SWFs (rare; mostly some Adobe Connect recordings) cannot be decoded by any open tool. If extraction silently fails on a specific file, that's usually the cause.
QuickTime (macOS native) does not play .weba; Windows Media Player on Windows 11 does not play .weba either. For those targets, convert to SWF to MP3 or SWF to WAV instead. WEBA plays natively in Chrome, Firefox, Edge, Safari 14.1+, VLC, mpv, and Audacity 3.4+. Android 10+ and Windows 10 1903+ register .opus/.weba extensions at the OS level.
Free conversions support files up to the standard xconvert upload cap; signed-in accounts get higher limits. SWFs are usually small (most are <20 MB even when they bundle long audio tracks because of Flash's strict ceiling on vector asset size), so the cap is rarely a constraint here.