Initializing... drag & drop files here
Supports: GIF
SWF (Small Web Format, originally Shockwave Flash) was Adobe's container for vector graphics, raster animation, audio, and interactive scripting on the web. FutureWave released the predecessor FutureSplash Animator in May 1996, and after Macromedia's December 1996 acquisition it became Flash. Adobe officially ended Flash Player support on December 31, 2020, and Chrome 88 (January 20, 2021), Firefox 85 (January 26, 2021), Edge, and Safari 14 all removed native playback that month. In 2026, GIF → SWF is almost entirely an archival, emulation, or legacy-tooling workflow — not a publishing format for the open web.
For the reverse direction see SWF to GIF. If your goal is actually modern web playback, convert the GIF to a video container instead: GIF to MP4 is the right choice for browser-native playback in 2026.
| Property | GIF | SWF |
|---|---|---|
| Released | 1987 (CompuServe) | 1996 (FutureSplash / Macromedia) |
| Type | Raster bitmap animation | Vector + raster multimedia container |
| Colors per frame | 256 (8-bit indexed palette) | 24-bit color, full alpha |
| Transparency | 1-bit (on/off) | 8-bit alpha channel |
| Audio | None | MP3, ADPCM, Nellymoser, Speex, AAC |
| Interactivity / scripting | None | ActionScript 1/2/3, buttons, forms |
| Video codecs | N/A (frame sequence) | Sorenson Spark (FLV1), VP6, H.264 |
| Native browser playback (2026) | Universal | None — requires Ruffle or Projector |
| Common file size (simple loop) | 100 KB – 5 MB | Often smaller via vector compression |
| Editable source | Limited (frame-by-frame) | FLA is the editable source; SWF is compiled |
| Setting | What it does | When to pick it |
|---|---|---|
| Quality Preset: Highest | Top-quality FLV1 encode, largest file | Master archival copy |
| Quality Preset: Very High (default) | Recommended balance | General Flash-era playback |
| Quality Preset: Medium / Low | Smaller file, visible compression | Bandwidth-constrained kiosks or older CD distributions |
| Constant Quality (CRF) | Locks visual quality, variable bitrate | Best fidelity-per-byte for FLV1 |
| Constant Bitrate | Fixed Mbps/Kbps throughout | Predictable file size, streaming targets |
| Variable Bitrate | Bitrate adapts to scene complexity | Mixed-motion animations |
| Resolution Preset 480p / 720p | Common Flash-era display sizes | Web archives and projector replay |
| Player | Where it runs | Notes |
|---|---|---|
| Ruffle (web demo) | ruffle.rs, modern browsers | Drop-in, no install; AS1/AS2 ~99% supported |
| Ruffle browser extension | Firefox, Chrome, Edge, Brave | Auto-replaces embedded SWFs on pages |
| Ruffle desktop app | Windows, macOS, Linux | ruffle filename.swf from command line |
| Adobe Flash Player Projector | Windows, macOS, Linux | Final release 32.0.0.465; offline only |
| Adobe Animate | Windows, macOS | Imports SWF for further editing |
| Flashpoint Archive | Windows, macOS, Linux | Sandboxed Flash + plugin runtime |
The default for this converter is FLV1, also known as Sorenson Spark — a proprietary variant of the H.263 standard that Flash Player 6 introduced in 2002 and that Ruffle supports for video tags. You can also pick FlashSV / FlashSV2 (Flash Screen Video) from the codec list, plus modern codecs like H.264 for newer SWF builds; FLV1 is the safest choice for maximum compatibility with old Flash players.
No. Chrome, Firefox, Edge, and Safari all removed Flash by January 2021 and never re-added it. To play the output you need the Ruffle emulator (web demo, browser extension, or desktop app), the standalone Adobe Flash Projector (final build 32.0.0.465), or Flashpoint Archive. If you actually want browser-native playback, convert the GIF to MP4 or WebM instead.
Three honest reasons: (1) you're contributing to a Flash preservation project like Flashpoint Archive that catalogs content as .swf; (2) you're feeding the file into a legacy authoring tool such as Adobe Animate or a kiosk/e-learning system that only accepts SWF; (3) you want a single self-contained Flash file you can open in Ruffle and embed in retro web demos. For everyday sharing or modern playback, GIF, MP4, or WebM beats SWF.
GIFs don't carry audio, so a GIF → SWF conversion produces a silent animation. If you later open the SWF in Adobe Animate, you can add an MP3 or ADPCM track from there — those are SWF's native audio codecs (Nellymoser, Speex, and AAC are also supported for video sources that already include sound).
Not in a one-shot converter. ActionScript scripting, buttons, and forms have to be authored — typically in Adobe Animate (formerly Flash Professional) — and then compiled into the SWF. This converter wraps the GIF frames into a playable .swf timeline; bring it into Animate as imported video if you need to layer interactivity on top.
For a simple looping animation, SWF is often smaller because GIF's 8-bit palette and frame-by-frame storage are inefficient. Drop the Quality Preset to Medium and apply Constant Quality (CRF), or reduce the Resolution to 360p, and you can frequently land at 30 – 60% of the GIF's bytes. Highly chaotic GIFs with many color transitions benefit less.
FLV1 / Sorenson Spark is the most compatible choice — it's the codec Flash Player 6 (2002) introduced and the one Ruffle implements most completely today. H.264 (added to Flash Player 9 in 2007) gives much better compression but is less universally supported by emulators and older standalone projectors. For Flashpoint / Ruffle workflows, leave the codec at FLV1.
No. FLV1 / Sorenson Spark is a lossy codec, so every conversion re-encodes the frames. Pick Quality Preset "Highest" or Constant Quality with a low CRF value to minimize the visible loss. The original GIF frames themselves are technically lossless (palette-indexed), so converting back from the SWF to GIF will not restore the exact original pixels.
You can upload large animated GIFs without an account. Conversions happen per-file inside your browser session — no sign-up, no watermark, and files are not retained server-side after your session ends. For very large GIFs, consider compressing the GIF first to shrink upload time before converting.