Convert AVI to SWF — Free Online Tool
Convert AVI files to SWF (Shockwave Flash) format directly in your browser, re-encoding video to the FLV1 (Sorenson Spark) codec and audio to MP3 — the native codecs of the Flash container. This conversion is primarily useful for embedding legacy video content into Flash-based web players or older multimedia authoring tools that require SWF-compatible streams.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your AVI 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
AVI is a Microsoft container that typically carries H.264 or other modern video codecs alongside MP3 or AAC audio. Converting to SWF requires full re-encoding of both streams: the video is transcoded to FLV1 (also known as Sorenson Spark, Flash's earliest lossy video codec), and the audio is re-encoded to MP3 using the LAME encoder. SWF is not a simple container swap — it is a structured Flash binary format, so FFmpeg wraps the encoded FLV1 video and MP3 audio into a Flash-compatible bitstream. The result is a self-contained SWF file that can be played by Adobe Flash Player or interpreted by legacy Flash-capable tools. Because FLV1 is a significantly older and less efficient codec than H.264, expect larger file sizes or lower visual quality at equivalent bitrates compared to the original AVI.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg tool. In this browser-based tool, FFmpeg runs locally via WebAssembly (FFmpeg.wasm) — no data is sent to a server. You can also run this same command in a desktop FFmpeg installation for files over 1GB. |
-i input.avi
|
Specifies the input AVI file. FFmpeg reads the AVI container and demuxes its interleaved audio and video streams for re-encoding into the SWF-compatible FLV1 and MP3 formats. |
-c:v flv1
|
Selects FLV1 (Sorenson Spark) as the video encoder — the only widely supported video codec in the SWF format. This triggers a full re-encode of the AVI's video stream, regardless of what codec the source AVI used. |
-c:a libmp3lame
|
Uses the LAME MP3 encoder for audio output. MP3 is the standard audio codec for SWF files and is required for compatibility with Adobe Flash Player and most Flash-based authoring tools. |
-q:v 5
|
Sets the FLV1 video quality using a scale of 1 (best quality, largest file) to 10 (lowest quality, smallest file). A value of 5 is a balanced default; since FLV1 is less efficient than H.264, lower values may be needed to match the visual quality of the original AVI. |
-b:a 128k
|
Sets the MP3 audio bitrate to 128 kilobits per second, which is a standard quality level for voice and general-purpose audio in Flash content. Increase to 192k or 256k for music-heavy content where audio fidelity is important. |
output.swf
|
Specifies the output filename and tells FFmpeg to use its SWF muxer, which wraps the encoded FLV1 video and MP3 audio into a Flash-compatible binary SWF structure suitable for use with Adobe Flash Player or legacy Flash authoring environments. |
Common Use Cases
- Embedding video content into legacy Flash-based websites or e-learning platforms (e.g., older Articulate or Adobe Captivate projects) that require SWF-format media
- Migrating archival AVI video assets into Flash multimedia presentations for museum kiosk systems or older interactive displays that still run Adobe Flash Player
- Supplying video to legacy CD-ROM or DVD-ROM authoring software (such as older versions of Director or Flash Professional) that accept SWF as an import format
- Preserving or reconstructing Flash-era multimedia projects by converting source AVI footage into the SWF format expected by the original authoring environment
- Testing or debugging Flash video playback pipelines by generating SWF files from known-good AVI sources to isolate codec or container compatibility issues
Frequently Asked Questions
Yes, quality loss is expected and inherent to this conversion. FLV1 (Sorenson Spark) is a much older and less efficient codec than H.264, which is commonly found in AVI files. To achieve comparable visual quality, FLV1 requires a substantially higher bitrate. The default quality setting of -q:v 5 is a mid-range compromise — lowering the value toward 1 will improve quality at the cost of a larger file, while raising it toward 10 will reduce file size but produce noticeably blockier video.
No. Adobe Flash Player reached end-of-life in December 2020, and all major browsers have removed native Flash support. SWF files produced by this tool will not play in Chrome, Firefox, Safari, or Edge without a third-party Flash emulator such as Ruffle. This conversion is most relevant for offline tools, legacy kiosk hardware, or archival purposes — not for general web delivery of video to modern audiences.
No. SWF supports only a single audio track, whereas AVI can carry multiple audio streams (e.g., multiple language dubs). FFmpeg will select the default or first audio stream from the AVI file and encode it as the sole MP3 audio track in the SWF output. Any secondary audio streams in the source AVI will be silently discarded during conversion.
This is a common result when transcoding H.264 AVI content to FLV1. H.264 is a highly efficient modern codec, while FLV1 (Sorenson Spark) uses an older compression algorithm that requires more data to represent the same visual information. If file size is a concern, try lowering the -q:v value is incorrect — raising the -q:v value (e.g., to 7 or 8) will reduce bitrate and file size, though at the cost of visual quality. Alternatively, consider whether SWF is truly required, as modern formats like MP4 with H.264 are far more size-efficient.
To adjust video quality, change the -q:v value: lower numbers (e.g., -q:v 2) produce higher quality at larger file sizes, while higher numbers (e.g., -q:v 8) reduce quality and file size. For audio quality, replace the -b:a 128k value with a different bitrate such as 96k for smaller files or 192k for better fidelity. For example: ffmpeg -i input.avi -c:v flv1 -c:a libmp3lame -q:v 3 -b:a 192k output.swf would produce higher-quality video and audio at the cost of a larger output file.
Yes, with a simple shell loop on your local machine. On Linux or macOS, you can run: for f in *.avi; do ffmpeg -i "$f" -c:v flv1 -c:a libmp3lame -q:v 5 -b:a 128k "${f%.avi}.swf"; done. On Windows Command Prompt, use: for %f in (*.avi) do ffmpeg -i "%f" -c:v flv1 -c:a libmp3lame -q:v 5 -b:a 128k "%~nf.swf". This is particularly useful for files over 1GB, which exceed the browser tool's limit but can be processed without restriction on a local FFmpeg installation.
Technical Notes
SWF is a binary Flash format, not a general-purpose multimedia container, which means FFmpeg's SWF muxer has meaningful constraints compared to formats like MP4 or MKV. The only supported video codecs are FLV1 (Sorenson Spark) and MJPEG; modern codecs like H.264 or VP9 cannot be placed into an SWF container. Audio is limited to MP3 (via libmp3lame) or AAC. Metadata from the source AVI — including title tags, creation dates, or embedded chapter markers — is not preserved in the SWF output, as the Flash format has no standardized metadata container equivalent to AVI's INFO chunk. Subtitles are unsupported in both formats, so no subtitle data is lost. The AVI container can carry lossless video codecs (such as PNG or HuffYUV), but all video will be re-encoded to lossy FLV1 regardless, making this a one-way lossy conversion. Frame rate and resolution are preserved by default unless explicitly overridden with -r or -s flags. Note that very high-resolution AVI sources (e.g., 4K) may produce SWF files that are impractical to play, as Flash Player's reference implementation was not designed for high-resolution video and FLV1 compression efficiency degrades significantly at large frame sizes.