Initializing... drag & drop files here
Supports: PNG
IMAGE_DURATION / VIDEO_BACKGROUND_COLOR): SWF wraps your PNGs as a timed slideshow. Set how long each PNG holds on screen — 1/60, 1/30, 1/24, 1/10 second for animation-style frame playback, or 1, 2, 3, 5, up to 10 seconds for slideshow pacing. Pick a background color (Black, White, Red, Blue, Green, plus 20+ named colors) for any transparent PNG areas, since SWF's FLV/Sorenson video layer doesn't carry an alpha channel.VIDEO_CODEC — FLV / Sorenson Spark (the default and most Ruffle-compatible), or FLASHSV / FLASHSV2 (Flash ScreenVideo, lossless but less broadly supported). Pick a VIDEO_QUALITY_PRESET (Highest → Very High → High → Medium → Low → Very Low → Lowest), a VIDEO_FIXED_RESOLUTION_PRESET (1920×1080, 1280×720, 854×480, 640×360, 426×240) or label preset (1080p / 720p / 480p / 360p / 240p), and optionally use MERGE_VIDEO to either merge all PNGs into one SWF or emit one SWF per image.SWF (Small Web Format, originally Shockwave Flash) was Adobe Flash's container for vector animation, web banners, and embedded media from the late 1990s through the early 2010s. Adobe officially end-of-lifed Flash Player on December 31, 2020, and Chrome, Firefox, Edge, and Safari all removed the Flash plugin in early 2021. PNG → SWF is therefore a niche, archive-only conversion — useful in a handful of specific legacy scenarios where a Flash projector or emulator is still the playback target:
For anything modern — websites, social media, mobile, email — convert PNGs to PNG to GIF, PNG to MP4, or PNG to WebM instead. SWF will not play in any 2026 browser without an emulator.
| Property | PNG | SWF |
|---|---|---|
| Origin | W3C / ISO standard (1996, ISO 15948 in 2004) | Macromedia / Adobe Flash (1996) |
| Type | Static raster image | Vector + raster + audio container with timeline |
| Compression | DEFLATE, lossless | FLV/Sorenson H.263 lossy, or FLASHSV lossless |
| Transparency | 8-bit alpha channel (24-bit RGB + alpha) | Vector layers only — embedded video has no alpha |
| Color depth | Up to 16-bit per channel (48-bit RGB / 64-bit RGBA) | 24-bit RGB + palette modes (2-256 colors) |
| Animation | None (single frame) | Timeline with per-frame duration |
| Modern browser playback | Native everywhere | None — Flash dead since Dec 31, 2020 |
| Mobile playback | iOS / Android native | Not supported anywhere |
| Best for in 2026 | UI assets, screenshots, lossless graphics, web images | Legacy Flash systems and emulator preservation only |
| Status | Active, universally supported | Legacy, archive-only |
IMAGE_DURATION |
Effective frame rate | Use case |
|---|---|---|
| 1/60 second | 60 fps | High-rate sprite animation cels (modern game-style) |
| 1/30 second | 30 fps | Standard animation playback for cel-by-cel cartoons |
| 1/24 second | 24 fps | Film-style frame timing — classic Flash animation feel |
| 1/10 second | 10 fps | Limited animation — period-typical Flash banner motion |
| 1-2 seconds | Slideshow | Photo / screenshot slideshows; ad rotators |
| 3-5 seconds | Slow slideshow | E-learning slide pacing; museum kiosk image sequences |
| 6-10 seconds | Very slow | Infographic / chart-by-chart presentation reels |
No — and this is unavoidable, not a tool limitation. Adobe Flash Player reached end-of-life on December 31, 2020, and Chrome, Firefox, Edge, and Safari removed the Flash plugin in early 2021. The only ways to play a SWF in 2026 are: Adobe's standalone Flash Player projector (still downloadable from Adobe's archives, runs offline), the Ruffle open-source Flash emulator (browser extension or desktop app), or Flashpoint (curated Flash game preservation project). For an animated PNG slideshow that actually plays on the modern web, convert to PNG to GIF or PNG to MP4 instead.
Partially. SWF supports vector-layer transparency, but the FLV / Sorenson H.263 video codec inside SWF — which is what your PNG slideshow gets encoded as — does not carry an alpha channel. Transparent PNG areas get composited against the VIDEO_BACKGROUND_COLOR you choose (default Black). If you need transparency preserved end-to-end, FLASHSV (Flash ScreenVideo) keeps a lossless RGB representation but still flattens alpha. Pick a background color that matches your target Flash project's stage color.
FLV / Sorenson Spark (the default) is the most broadly compatible — every Flash projector since version 6 plays it, and Ruffle's video support targets it most reliably. FLASHSV is lossless and well-suited to UI screenshots and pixel-art with sharp edges, but only Flash Player 7+ projectors play it. FLASHSV2 is more efficient lossless but only Flash Player 9.0.115+ supports it and Ruffle's coverage is partial. For maximum reach, stay on FLV. For pixel-perfect screenshot reels going into a known-modern Flash projector, FLASHSV is the better pick.
For frame-by-frame cel animation, use 1/24 second (the classic film-and-Flash standard) or 1/30 second for smoother modern playback. Older Flash banners and Newgrounds-era animation often ran at 1/12 second (12 fps) — pick 1/10 second for the closest match. For a photo slideshow rather than animation, 2-5 seconds per frame matches typical Flash slideshow pacing of the late 2000s e-learning era.
Both. The MERGE_VIDEO option (also called IMAGE_TO_VIDEO_MERGE_DEFAULT) controls this — leave it on to merge all uploaded PNGs into one timed slideshow SWF, or switch to per-file mode to emit one SWF per PNG (useful when each frame needs to be individually loadable in an ActionScript project). Upload order determines slide order in merge mode.
It depends on the codec and per-frame duration. With FLV / Sorenson at typical Flash-era bitrates, a slideshow of high-resolution PNGs is usually smaller than the sum of its source PNGs because the video codec's lossy compression aggressively trims detail (and visibly drops quality compared to the originals). With FLASHSV (lossless) and short frame durations, the SWF can be larger than the PNGs since it adds the SWF container overhead plus a per-frame keyframe. Downscaling resolution via VIDEO_FIXED_RESOLUTION_PRESET is the simplest knob for shrinking the output.
Ruffle's video and image-layer support has improved significantly through 2025-2026. Ruffle plays Sorenson FLV inside SWF on most modern builds, which is why FLV is the default codec. FLASHSV / FLASHSV2 lossless screen video is partial — recent Ruffle builds handle FLASHSV but FLASHSV2 coverage is incomplete. For best Ruffle compatibility, stick with the default FLV / Sorenson selection, 480p or smaller resolution, and 1-5 second per-frame durations.
No. Flash Player for mobile was discontinued in 2012 and never returned. iOS never supported Flash. The converter itself runs in any modern mobile browser, but the SWF output won't play on any phone or tablet without a desktop-class emulator. For mobile playback of a PNG slideshow, convert to PNG to MP4 or PNG to GIF instead.
Yes — that's one of the best remaining use cases. Drop a folder of PNG cels (sprite frames, animation keyframes, UI states) in the order they should play, set IMAGE_DURATION to 1/24 or 1/30 second, leave MERGE_VIDEO on, and pick FLV as the codec. The resulting SWF can be loaded by an ActionScript loadMovie / Loader call inside a Flash game running under Ruffle or a standalone projector.