Initializing... drag & drop files here
Supports: SWF
BMP is the Windows Bitmap format: a plain header followed by pixel rows, with no dependency on any codec library. That makes it the format of choice when a legacy tool, an embedded display, an installer resource, or a piece of industrial software will only accept a raw bitmap. This page decodes the video stream embedded in a legacy Adobe/Macromedia Flash (.swf) file, takes one frame, and writes it as .bmp.
Two things set this page apart from most SWF converters, and both are covered below: the Quality Preset is not a cosmetic slider — it selects a genuinely different BMP encoding — and whether the conversion succeeds at all depends on how the Flash file was built.
.swf onto the page or click "Add Files" to browse. Several Flash files can be queued and captured with the same settings..swf cannot be seeked to a timestamp, so switch to "Multiple Screenshots" with a Capture Rate and take a run of frames 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.Most converters treat "BMP quality" as meaningless because BMP is usually described as an uncompressed format. That is not what happens here. Each preset routes the frame through a different encoder with different bit depth and compression settings. We reproduced all three on the same 640×480 frame taken out of a test Flash file and read the resulting bitmap headers:
| Quality Preset | Header | Bit depth | Compression | Colours | Size of the same frame |
|---|---|---|---|---|---|
| High | 40-byte BITMAPINFOHEADER (BMP v3) | 16 bpp (RGB555) | BI_RGB — none |
32,768 | 614,454 bytes |
| Medium | 40-byte BITMAPINFOHEADER (BMP v3) | 8 bpp, palettised | BI_RLE8 — run-length |
256, Floyd–Steinberg dithered | 65,142 bytes |
| Low | 124-byte BITMAPV5HEADER | 8 bpp, palettised | BI_RLE8 — run-length |
86, Floyd–Steinberg dithered | 46,044 bytes |
| (a plain 24-bit BMP, for reference — not written here) | 124-byte BITMAPV5HEADER | 24 bpp | BI_RGB — none |
16.7 million | 921,738 bytes |
Reading that table:
An .swf is a compiled Flash program, not a plain video container. It can hold vector shapes, a timeline, ActionScript bytecode — and, only sometimes, an actual encoded video stream. This page decodes that encoded stream. It never re-draws the vector timeline and never executes the script, so:
There is also a seeking limitation you have to plan around: a .swf cannot be seeked to a timestamp. The SWF reader has no seek support, so "Specific Frame" reports could not seek to position N at every value, including its preselected 0. What follows depends on the embedded codec, and neither branch gives you the frame you asked for — on a Sorenson Spark stream, where we measured no keyframe-flagged packets at all across 72 frames, nothing decodes and no bitmap is written; on all-intra Flash Screen Video and MJPEG streams, decoding restarts from the beginning and you get an opening frame instead of your timestamp.
Switch Frame Selection to "Multiple Screenshots" whenever the specific moment matters. That path decodes forward through the timeline instead of seeking into it, so it is unaffected by any of this.
| Property | BMP (this page) | PNG | JPG |
|---|---|---|---|
| Compression | None at High; RLE at Medium and Low | Lossless (DEFLATE) | Lossy (DCT) |
| Colour depth available here | 16 bpp, or 8-bit palette | 8-bit per channel truecolour, with alpha | 8-bit per channel, no alpha |
| Typical size, same 640×480 frame | 46 KB – 614 KB depending on preset | ~72 KB lossless | ~20 KB at quality 80 |
| Transparency | Not in the encodings written here | Yes, full alpha channel | No |
| Reads without a codec library | Yes — that is BMP's whole point | No | No |
| Best for | Legacy tools, installer resources, embedded displays | Lossless archiving, web use, editing | Small shareable stills |
If BMP is not a hard requirement, SWF to PNG gives you a truecolour still with a real alpha channel — set its Quality Preset to Highest if you want the encode to be genuinely lossless, since the lower presets palette-quantize — and SWF to JPG gives you the smallest everyday image.
No. BMP holds exactly one still image. The converter decodes the video stream embedded in the SWF and writes the frame at the timestamp you set under Frame Selection. Choosing "Multiple Screenshots" gives you a series of separate BMP files at your chosen capture rate rather than one combined image. For motion, convert to video with SWF to MP4.
Because two of the three presets here are not uncompressed. Medium and Low write 8-bit palettised bitmaps with BI_RLE8 run-length compression, which on flat Flash artwork collapses long runs of identical pixels very effectively — 65,142 and 46,044 bytes respectively on the 640×480 frame we tested, against 921,738 bytes for a plain 24-bit dump of the same picture. Only the High preset is uncompressed, and it is 16 bpp rather than 24.
Almost certainly because there is no encoded picture stream inside it. A SWF built purely from vector shapes, tweens and ActionScript — most banner ads, logo animations and Flash games — has nothing a decoder can turn into pixels, so the job stops instead of producing an empty bitmap. Only SWFs that wrap Flash Video, On2 VP6 or Flash Screen Video contain an image to extract.
Switch the Quality Preset to High. Medium and Low reduce the frame to a 256- or 86-colour palette using Floyd–Steinberg dithering, which trades a fine speckle pattern for a much smaller file. High keeps 16-bit RGB555 colour with no palette and no dither, at roughly ten times the size.
In practice, an early one — and not reliably the one you name. "Specific Frame" sets a timestamp, but a .swf cannot be seeked, so the request either fails outright or restarts decoding from the beginning and hands you an opening frame. Use "Multiple Screenshots" to take a run across the timeline and keep the frame you actually need; that is the only dependable way to choose a moment from a Flash file here.
No. The BMP encodings written on this page carry no alpha channel, so any transparency in the source is resolved into opaque pixels. If you need a still with a real alpha channel, use SWF to PNG instead.
Yes, under Image resolution. It starts on "Keep original", and you can switch to Resolution Percentage, a Preset Resolution from 4320p down to 16P, or an explicit Width, Height, or Width × Height. Because BMP size scales directly with pixel count, halving the dimensions roughly quarters the file at the High preset.
The file is, even though playback is not. Adobe stopped supporting Flash Player on December 31, 2020 and blocked Flash content from running on January 12, 2021, but an encoded video stream inside a .swf can still be decoded directly on our servers with no plugin or Flash runtime involved. For interactive Flash content that has no encoded stream to extract, the open-source Ruffle emulator plays many legacy files so you can capture what you see.