Initializing... drag & drop files here
Supports: SWF
Adobe ended Flash Player support on 31 December 2020 and started blocking Flash content on 12 January 2021, which left a lot of narration, game music and sound effects sealed inside .swf files that nothing plays any more. This page decodes the audio streams embedded in a SWF and writes them to .aif — Apple's Audio Interchange File Format, an uncompressed PCM container that every DAW, sampler and audio editor opens without a plugin.
.aif and .aiff are the same format under two extensions, so this page and SWF to AIFF produce identical files; pick whichever extension the software downstream expects.
.swf files can go in one session and they all convert with the same settings..swf source — see the FAQ below, and cut the finished AIFF instead. Click Convert. Files are uploaded over an encrypted connection, processed on our servers, and deleted automatically after a few hours — no sign-up, no watermark, never shared or made public.Only one of the four options produces a plain, classic AIFF file. The other three are legal but land in the AIFF-C variant, which some older software refuses. Measured on a 2.95-second, 44.1 kHz mono soundtrack extracted from a test SWF:
| Audio Codec | FORM type written | Bit depth | Output size for the test clip | When to use it |
|---|---|---|---|---|
| PCM 16-bit Big Endian | AIFF — the original format |
16-bit | 260,406 bytes (~706 kbps) | Default. Maximum compatibility; this is what "an AIFF file" means |
| PCM 16-bit Little Endian | AIFC — AIFF-C |
16-bit | 260,424 bytes | Byte-swapped variant; same audio, slightly fussier to open |
| PCM mu-law | AIFC — AIFF-C |
8-bit companded | 130,248 bytes | Half the size, telephony-grade fidelity; speech only |
| PCM A-law | AIFC — AIFF-C |
8-bit companded | 130,248 bytes | As mu-law, the European G.711 companding curve |
AIFF is big-endian by design — it descends from Electronic Arts' EA IFF-85 interchange standard, which Apple built the original Audio IFF specification on in January 1988. AIFF-C arrived with a separate Apple specification dated 26 September 1991 to allow compressed payloads under the same chunk structure, and that is the FORM type ffmpeg has to use for anything that is not plain big-endian PCM. If a piece of software rejects your file, checking whether the first twelve bytes end in AIFC rather than AIFF is usually the answer.
This is the part that catches people out. A SWF is a container for a Flash timeline, and we do not run that timeline — there is no Flash runtime and no ActionScript interpreter in the pipeline. Only genuinely embedded media streams are readable.
| SWF you might have | What happens on this page |
|---|---|
| Animation or e-learning module with a streamed soundtrack | Converts. The SoundStreamHead / SoundStreamBlock timeline track is exactly what the demuxer reads |
Flash game with dozens of one-shot DefineSound effects |
Each sound definition surfaces as its own separate audio stream, and only the first one is selected — you get one effect, not a soundtrack |
| Vector cartoon or banner ad with no embedded media at all | Fails at input. There is no decodable stream, so nothing can be written |
| Video-only SWF (embedded footage, no sound) | Fails rather than producing a silent file — the job has no audio stream to put in the output |
| Sound triggered only by playback logic | Not represented. The demuxer reads sound data tags, not runtime StartSound triggers |
For playing a vector SWF rather than converting it, the Ruffle emulator is the right tool — it reimplements the Flash player rather than trying to extract media from the file.
Because AIFF is uncompressed. The audio inside a SWF is almost always MP3 at 64-128 kbps, roughly half a megabyte per minute; 16-bit 44.1 kHz PCM runs about 706 kbps for mono and double that for stereo. Our 2.95-second test clip came out at 260,406 bytes. You are trading size for an editable master with no further generation loss. If you want a small playback file, SWF to MP3 is the right route.
The AIFF file is a lossless capture of the decoded waveform, but the original loss is already baked in. SWF audio is normally MP3, ADPCM or Nellymoser, all of which discarded detail when the Flash file was authored, and nothing can recover that. What you gain is a master that will not lose anything further no matter how many times you edit and re-export it.
Almost certainly a Flash game or interactive piece whose sounds are stored as individual DefineSound definitions rather than one timeline track. Each definition is exposed as a separate audio stream, and default stream selection takes exactly one, so a file with forty sound effects gives you the first one. There is no stream picker on this page; if you need all of them, a dedicated SWF decompiler that exports each sound asset separately is the tool for the job.
It means the file has no audio stream the demuxer can read. That is the normal outcome for a vector-animation SWF, a banner ad or a Flash game whose sound is generated at runtime — the timeline is drawing instructions, not media. It is also what happens with a video-only SWF: rather than handing you a silent AIFF, the job stops because there is nothing to put in the output.
The sample-rate list on this page offers Original, 8000, 12000, 16000, 24000, 44100 and 48000 Hz. Flash content was commonly authored at 5512.5, 11025, 22050 or 44100 Hz, and 22050 is not in the fixed list — but Original covers it. Leaving the control on Original keeps whatever rate the SWF actually carries, which is what you want in nearly every case anyway, since resampling only adds interpolation.
Only for speech you do not intend to edit. Both are 8-bit companded schemes from the ITU-T G.711 family, designed for telephone-grade voice; they halve the file but drop real dynamic range, and they force the output into the AIFF-C variant rather than plain AIFF. For anything musical, keep PCM 16-bit Big Endian and compress afterwards with a real codec — AIF to MP3 will get you far smaller files at far better quality than mu-law will.
No, and that is the point. The SWF is parsed directly as a container: its sound tags are decoded without any Flash runtime, browser plugin or ActiveX control. Flash Player has been unsupported since 31 December 2020 and blocked from running Flash content since 12 January 2021, so any working 2026 workflow has to bypass it entirely.
The SWF reader handles PCM, ADPCM (the light compression Flash used heavily in older content), MP3 (by far the most common) and Nellymoser, the Flash-specific speech codec that turns up in early voice-chat and e-learning material. Nellymoser is the awkward one, since very few tools outside this decoding path implement it — which is a good reason to extract to PCM once and keep that as your master.
Yes, but not with the Trim control on this page — convert the whole soundtrack first and cut the result with the Audio Cutter, which accepts .aif and .aiff (it will not take the .swf itself, since that is a video-type file). Doing it in that order also means you can see the waveform before you choose the in and out points.
Because a SWF cannot be seeked. Selecting the Trim group makes the encoder place its seek flag before the input file, and a SWF stream does not support that: the log reads could not seek to position … and then Output file is empty, nothing was encoded, leaving a 54-byte header with no audio. We reproduced it with ffmpeg -ss 0.5 -i file.swf -vn -c:a pcm_s16be out.aif, and — importantly — the same thing happens with the start time left at its default of 0, because the seek is attempted either way. Convert the whole file and trim the AIFF afterwards.
PCM 16-bit Big Endian, at Original sample rate, channels Original. That combination writes a plain AIFF FORM with no companding and no byte-order surprise, which is the file every version of Pro Tools, Logic, Audition, Reaper and Audacity has read for decades. Switch away from it only when something downstream specifically asks for 8-bit companded audio or a little-endian payload.