SWF to AVIF Converter

Convert SWF files to AVIF format online. Free, fast, no watermarks.

Initializing... drag & drop files here

Supports: SWF

OptionsAdvanced Options - Our defaults are optimized for the best results. We recommend you keeping the defaults unless you have a specific need.
Image Compression
Quality preset
Higher quality settings preserve more detail but result in larger files. Lower settings reduce file size by increasing compression.
Image resolution
Frame Selection
Time (seconds)
Capture a single frame at the specified time. For example, 2.100 means 2 seconds and 100 milliseconds into the video.

Capturing a SWF Frame as AVIF: What This Tutorial Covers

This page freezes one moment from a legacy Adobe/Macromedia Flash (.swf) file and saves it as AVIF — a single AV1-coded still inside a HEIF-family container. It is the right tool when you want a compact, modern archive image of Flash-era artwork, an intro card, or a cutscene frame before the original becomes unreadable.

It is a still image, not an animation: one frame comes out, or a batch of separate frames if you ask for several. And it only works on Flash files that carry a real embedded video stream — the walk-through explains how to tell, and what to do when a timestamp comes back empty.

How to Convert SWF to AVIF

  1. Upload Your SWF File: Drag and drop the .swf onto the page or click "Add Files" to browse. Several Flash files can be queued and captured with the same settings.
  2. Switch Frame Selection to "Multiple Screenshots": "Specific Frame" is preselected, but a .swf cannot be seeked to a timestamp — see the walk-through. Pick a Capture Rate instead and take a run of frames across the timeline.
  3. Set Quality Preset and Image resolution: Quality Preset starts on "Very High (Recommended)" and runs from Highest down to Lowest; switch to "Specific file size" with Auto Scale to cap the output in KB or MB instead. Image resolution starts on "Keep original" and also offers Resolution Percentage, Preset Resolutions from 4320p down to 16P, and explicit Width, Height, or Width × Height.
  4. Convert and Download: Click Convert to download the AVIF, or a zip when you captured multiple frames. Files are uploaded over an encrypted connection, processed on our servers, and deleted automatically after a few hours — no sign-up, no watermark.

Walk-through: Getting a Frame Out of a Flash File

An .swf is a compiled Flash program, not a plain video container. It holds vector shapes, a timeline, ActionScript bytecode — and, only sometimes, an actual encoded video stream. What comes out of this page is that encoded stream, decoded and re-saved. The vector timeline is never redrawn and the script is never executed.

That produces three distinct outcomes, and knowing which one you have saves a lot of guessing:

  • SWF wrapping a Flash video stream (Sorenson Spark / FLV1, On2 VP6, or Flash Screen Video). This is the case that works. Flash video players, animated shorts and cutscene wrappers are usually built this way.
  • SWF that is pure vector timeline — shapes, tweens and script only. There is no encoded picture inside to decode, so the job fails rather than returning a blank image. Probing such a file returns zero streams; every vector tag in it is skipped. Banner ads, logo stings, menu widgets and most Flash games land here.
  • SWF with audio but no video. Nothing for a still-image target to work with.

The one behaviour worth planning around is seeking, which does not work on a .swf at all. The SWF reader has no seek support, so "Specific Frame" cannot jump to your timestamp — it reports could not seek to position N at every value we tried, including 0. What happens next depends on the embedded codec, and neither outcome is what you asked for:

Embedded video codec Keyframe-flagged packets Result of a "Specific Frame" request at 1.0 s
Sorenson Spark (FLV1) — the common case in older SWFs 0 of 72 Nothing decodes; no image is produced
Flash Screen Video 5 of 40 An image, but taken at 0.40 s — not the second you asked for
MJPEG (all-intra) 40 of 40 An image, but taken at 0.30 s — not the second you asked for

So a timestamp either yields nothing or silently yields the wrong frame. The fix is to switch Frame Selection to "Multiple Screenshots", which walks the timeline forward instead of seeking into it — pick a Capture Rate, take the batch, and keep the frame you actually wanted.

What the AVIF Output Actually Is

Property Value
Container ISO-BMFF / HEIF family, major brand ftypavif, compatible brands mif1 avif miaf
Picture codec AV1 (AOMedia Video 1), stored as a still image item
Bit depth and chroma in the outputs we measured 8-bit, 4:2:0
Frames One per output file; "Multiple Screenshots" writes a separate file per frame
Alpha Supported by the AVIF format itself
Browser support 94.67% globally per caniuse — Chrome 85+, Firefox 93+, Safari 16.4+, Edge 121+
Not preserved from the SWF Animation, audio, ActionScript, interactivity, vector scalability

For a sense of the size advantage, we pulled one 640×480 frame out of a test Flash file and saved the identical picture three ways:

Format for the same 640×480 SWF frame Bytes Relative to PNG
PNG, lossless 72,136 1.0×
JPEG, quality 80 20,219 0.28×
AVIF, quality 80 11,916 0.17×

Roughly a sixth of the PNG, and about 40% smaller than the JPEG at a comparable quality setting — which is the whole reason to pick AVIF for an archive still.

Common Errors and How to Fix Them

  • "Specific Frame gave me nothing" — a .swf cannot be seeked, and on a Sorenson Spark stream there are no keyframes to fall back on either. Switch to "Multiple Screenshots" and take the frame from the batch.
  • "I got an image, but not from the timestamp I asked for" — same root cause. The seek fails, decoding restarts from the beginning, and you get an early frame instead. Use "Multiple Screenshots" when the exact moment matters.
  • "The conversion failed on a file that definitely has animation" — the animation is vector, not an encoded video stream. There is no picture data to decode. Play it in an emulator and capture the screen instead.
  • "The frame is a plain background or a loading screen" — the opening of a Flash video wrapper is often pre-roll, and because the seek fails you get an opening frame regardless of the timestamp you set. Take a batch with "Multiple Screenshots" and pick from it.
  • "The image looks soft or blocky" — Flash video was usually encoded at low bitrates for dial-up-era delivery, and no still-image format can add detail back. Raise Quality Preset toward Highest so the AVIF encoder does not add a second generation of loss on top.
  • "The output is bigger than I expected" — check whether you left Image resolution on "Keep original" while the source is large, and whether Quality Preset is at Highest. Switching to "Specific file size" with Auto Scale lets you name a ceiling and have the resolution follow.

When This Doesn't Work

If the Flash file is a game, a quiz, a menu, or anything else whose visuals are drawn at runtime by ActionScript over a vector stage, no frame-capture pipeline can reach them — there is no rendered picture stored in the file to extract. Adobe stopped supporting Flash Player on December 31, 2020 and blocked Flash content from running on January 12, 2021, so playing the file back to screenshot it needs an emulator: the open-source Ruffle project runs many legacy SWFs and lets you capture what you see. Encrypted or obfuscated SWFs from old game portals resist reading entirely.

Frequently Asked Questions

Does this capture the whole Flash animation or one frame?

One frame. AVIF here is a still image: the converter decodes the SWF's embedded video stream and saves the frame at the timestamp you set under Frame Selection. "Multiple Screenshots" gives you several separate stills at a chosen capture rate, delivered together. If you want motion back, convert to video with SWF to MP4 instead.

Why did my SWF fail to convert at all?

Because it holds no encoded picture stream. A Flash file built purely from vector shapes, tweens and ActionScript — which is most banner ads, logo animations and Flash games — has nothing a decoder can turn into pixels, so the conversion stops instead of writing a blank frame. Only SWFs that wrap Flash Video, On2 VP6 or Flash Screen Video have an image to extract.

Specific Frame returned nothing but the file definitely has video. What now?

Switch Frame Selection to "Multiple Screenshots". The SWF reader has no seek support, so a timestamp request fails at every value including 0 — and on a Sorenson Spark stream, where we measured zero keyframe-flagged packets across 72 frames, there is nothing to fall back on and no image comes out. The multiple-screenshot path decodes forward through the timeline instead of seeking, so it is unaffected.

Will the AVIF be as sharp as the original Flash artwork?

If the source was vector art that was later encoded to Flash video, no — it was already rasterised and compressed before it reached the SWF, and a still image cannot recover that. Set Image resolution high (a large Preset Resolution or an explicit Width × Height) and keep Quality Preset toward Highest so the AVIF encode does not add further loss; you can always downscale afterwards.

Should I pick AVIF over PNG or JPG for a Flash frame?

AVIF gives the best size-for-quality of the three and supports alpha and higher bit depths, at 94.67% global browser support — Safari needs 16.4 or newer. Choose SWF to PNG when you want a truecolour master or need the file to open in older tooling, and SWF to JPG when maximum compatibility matters more than size. AVIF is the right pick when you control where the image gets displayed.

Is AVIF lossy or lossless here?

Lossy at the Quality Preset settings on this page, which is where AVIF's size advantage comes from — there is no separate lossless toggle rendered for this conversion. If you need a bit-exact copy of the decoded frame, use SWF to PNG with its Quality Preset set to Highest; PNG's lower presets palette-quantize the image rather than storing it truecolour. And note that "lossless" here only ever means lossless relative to the decoded Flash video, which was itself lossily compressed when the file was authored.

How do I get a specific moment out of a long Flash video?

Use "Multiple Screenshots" with a coarse Capture Rate first — one frame per second, say — to see roughly where the moment is, then re-run at a finer rate. Sampling is the practical approach here precisely because you cannot ask for a timestamp and trust the answer: the seek fails, so a "Specific Frame" request either returns nothing or returns an early frame instead of the one you named.

What happens to my uploaded Flash file?

It is uploaded over an encrypted connection, processed on our servers, and deleted automatically after a few hours. Files are never shared or made public, and there is no sign-up and no watermark. Other output formats for the same source are listed on the SWF converter hub.

Rate SWF to AVIF Converter Tool

Rating: 4.8 / 5 - 43 reviews