Convert SWF to WMV — Free Online Tool
Convert SWF Flash animations and interactive content to WMV format using the Microsoft MPEG-4 v3 video codec and Windows Media Audio codec — making legacy Flash files playable in Windows Media Player and compatible with Windows-based workflows without requiring the Flash plugin.
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 contain vector-based animation or video encoded with the FLV1 (Sorenson Spark) codec alongside MP3 audio. During conversion, FFmpeg decodes the FLV1 video stream and re-encodes it using the msmpeg4 (Microsoft MPEG-4 Version 3) codec, while the audio is transcoded from MP3 to WMA v2 (wmav2). The output is wrapped in an ASF (Advanced Systems Format) container — the underlying container for WMV files — which is why the special -f asf flag is required. Because both formats are lossy, this is a lossy-to-lossy transcode, meaning some generation loss is inevitable. Vector graphics and interactive elements in the SWF are rendered and flattened into a standard raster video stream; interactivity and scripting are permanently lost in the output.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg binary. In the browser-based tool, this runs via FFmpeg.wasm compiled to WebAssembly; when run locally on your desktop, this calls your system-installed FFmpeg executable. |
-i input.swf
|
Specifies the input SWF file. FFmpeg will probe the file to detect its embedded streams — typically FLV1 video and MP3 audio — which are then decoded for re-encoding into the WMV output. |
-c:v msmpeg4
|
Sets the video encoder to Microsoft MPEG-4 Version 3 (msmpeg4), the native video codec for WMV files. This encoder is required for full compatibility with Windows Media Player and legacy Windows media software. |
-c:a wmav2
|
Sets the audio encoder to Windows Media Audio Version 2 (wmav2), transcoding the SWF's MP3 audio into WMA format. wmav2 is the standard audio codec for WMV/ASF containers and is expected by Windows Media Player. |
-b:v 2000k
|
Sets the video bitrate to 2000 kilobits per second for the msmpeg4 encoder. This is a balanced default that provides reasonable quality for standard-definition Flash video content without producing an excessively large WMV file. |
-b:a 128k
|
Sets the audio bitrate to 128 kilobits per second for the wmav2 encoder. This matches the typical quality level of the MP3 audio found in SWF files and is sufficient for voice, music, and sound effects commonly used in Flash content. |
-f asf
|
Explicitly forces the ASF (Advanced Systems Format) container muxer, which is the actual container format underlying all WMV files. This flag is required because FFmpeg needs explicit instruction to use the ASF muxer with the msmpeg4 codec, regardless of the .wmv output file extension. |
output.wmv
|
The name of the output file. The .wmv extension is the conventional file extension for ASF containers carrying Windows Media codecs, and this file will be directly playable in Windows Media Player and other WMV-compatible applications. |
Common Use Cases
- Archiving old Flash-based e-learning modules or training videos from the pre-HTML5 era into a format that remains watchable on modern Windows systems after Flash's end-of-life
- Converting SWF animated banner ads or product demos into WMV for inclusion in Windows-based digital signage software that expects ASF/WMV input
- Preparing Flash animation exports for submission to corporate intranets or legacy content management systems that only accept Windows Media Video files
- Extracting the rendered video from an SWF presentation or animated explainer and saving it as a WMV for playback in Windows Media Player on locked-down enterprise machines without browser plugins
- Converting SWF game cutscenes or intro sequences archived from discontinued websites into WMV for long-term local storage in a Windows media library
Frequently Asked Questions
No. WMV is a purely passive video format with no concept of interactivity, scripting, or vector instructions. FFmpeg renders what it can from the SWF's video and audio streams and discards all ActionScript, button behaviors, timeline interactivity, and vector layer data entirely. What you get in the WMV is a flat raster video of whatever FFmpeg was able to decode from the SWF's embedded media streams.
SWF files often store animation as scalable vector graphics, which render crisply at any resolution. When FFmpeg decodes the SWF, it rasterizes the content at a fixed pixel resolution, and then the msmpeg4 codec applies additional lossy compression on top of that. The combination of rasterization and two stages of lossy encoding (FLV1 to msmpeg4) can introduce blocking artifacts, especially in areas of flat color or fine line art. Increasing the video bitrate with -b:v (e.g., to 4000k or 6000k) can reduce but not eliminate this quality loss.
WMV is not a standalone container format — it is actually video stored inside an ASF (Advanced Systems Format) container. FFmpeg does not always automatically infer ASF muxing from the .wmv extension when using the msmpeg4 codec, so the -f asf flag explicitly instructs FFmpeg to use the ASF muxer. Without it, the output may fail to mux correctly or produce an unplayable file. The .wmv file extension is simply the conventional name given to ASF files carrying Windows Media codecs.
Video quality is controlled by the -b:v flag, which sets the video bitrate. The default is 2000k; increasing it to 4000k or 8000k improves quality at the cost of a larger file, while dropping it to 500k or 1000k reduces file size but increases compression artifacts with the msmpeg4 codec. Audio quality is controlled by -b:a; the default 128k is adequate for most speech and music, but you can raise it to 192k or 256k for higher fidelity. For example: ffmpeg -i input.swf -c:v msmpeg4 -c:a wmav2 -b:v 4000k -b:a 192k -f asf output.wmv
Yes. On Windows, you can use a for loop in Command Prompt: for %f in (*.swf) do ffmpeg -i "%f" -c:v msmpeg4 -c:a wmav2 -b:v 2000k -b:a 128k -f asf "%~nf.wmv". On Linux or macOS, use: for f in *.swf; do ffmpeg -i "$f" -c:v msmpeg4 -c:a wmav2 -b:v 2000k -b:a 128k -f asf "${f%.swf}.wmv"; done. Each SWF will be individually decoded and re-encoded, so processing time scales with the number and length of files.
FFmpeg can only decode the media streams embedded within an SWF — specifically FLV1/H.263 video and MP3 or AAC audio tracks. SWF files that consist entirely of ActionScript-driven vector animations without a pre-rendered video track may produce a blank or very short output, since FFmpeg has no Flash runtime to execute scripts. Highly interactive SWFs (games, forms, navigation menus) fall into this category. Additionally, SWFs using HTTPS-linked streaming media or external asset loading will not include that content in the conversion.
Technical Notes
The msmpeg4 codec used in the output is Microsoft's proprietary MPEG-4 Version 3 implementation, which predates the standardized MPEG-4 Part 2 codec and is not interchangeable with it despite similar naming. It is natively supported by Windows Media Player and widely compatible with older Windows software, but is not supported by most modern non-Windows players without codec packs. The wmav2 audio codec produces Windows Media Audio Version 2 streams, which are efficiently compressed and well-suited to the bitrates used here. Because SWF's default video codec (FLV1) and WMV's msmpeg4 are completely incompatible codecs, a full re-encode of every frame is unavoidable — there is no stream-copy shortcut available for this conversion. The ASF container supports multiple audio tracks in principle, but since SWF does not carry multiple audio streams, the output will have a single audio track. Metadata from the SWF (title, author tags) is generally not carried forward, as SWF metadata structures have no direct mapping to ASF metadata fields. If the source SWF has no audio track, FFmpeg will produce a video-only WMV and may emit a warning about missing audio streams.