Initializing... drag & drop files here
Supports: SWF
SWF (Small Web Format) was Adobe's vector animation container that powered web animation, games, and ads from the late 1990s until Adobe officially ended Flash Player support on December 31, 2020. PPM (Portable PixMap), invented by Jef Poskanzer in 1988 as part of the Netpbm suite, is the opposite: a deliberately simple, uncompressed RGB raster format whose entire spec fits on one page. Converting SWF to PPM is almost never about end-user delivery — it's about extracting raw pixel data from a soon-to-be-unplayable archive so downstream tools can work on it without compression artifacts.
imread, scikit-image, MATLAB's imread) accept PPM natively. Decoding it requires nothing more than reading "P6", width, height, maxval, and the raster bytes — useful when you're feeding extracted Flash frames into a model and want zero codec assumptions.width × height × 3 (or × 6 for 16-bit) bytes in big-endian order, per the Netpbm spec.fread in 10 lines of code.| Property | SWF | PPM |
|---|---|---|
| Type | Vector + raster animation container | Single-frame uncompressed raster |
| Created by | FutureWave / Macromedia / Adobe (1996) | Jef Poskanzer, Netpbm (1988) |
| Magic number | FWS (uncompressed), CWS (zlib), ZWS (LZMA) |
P3 (ASCII), P6 (binary) |
| Compression | Zlib or LZMA on the file body | None — raw RGB bytes |
| Color depth | Vector + 24-bit raster shapes | 8 or 16 bits per channel (24 / 48 bit RGB) |
| Transparency | Yes (per-shape alpha) | No — deliberately omitted from spec |
| Animation | Yes — multi-frame timeline | No — single still image |
| Typical size | Tens of KB to a few MB | Tens of MB at the same resolution |
| Browser playback | None — Adobe ended Flash Player Dec 31, 2020 | None — not a web format |
| Use today | Legacy archival, niche emulators (Ruffle) | Image-processing intermediate, academic graphics |
| Setting | What you get | When to use |
|---|---|---|
| 8-bit (Recommended) | 24-bit RGB, maxval 255, 1 byte per channel | Default — matches what 99% of PPM readers expect |
| 16-bit (High Precision) | 48-bit RGB, maxval 65535, 2 bytes per channel | Color grading, HDR pipelines, scientific imaging |
| 1-bit (Black & White) | Monochrome output | Line-art, OCR pre-processing, sketch frames |
| Keep Original | Match SWF stage dimensions | Pixel-accurate archival |
| Resolution Percentage | Scale by % (10–100) | Quick thumbnail or proxy |
| Preset Resolutions | 144p through 4320p | Standard display targets |
| Custom Width / Height | Exact pixel dimensions | Matching a downstream tool's expected size |
PPM stores every pixel as raw RGB bytes with zero compression — the spec literally calls itself "egregiously inefficient" because that's the point. A 1920×1080 8-bit PPM is exactly 6,220,800 bytes plus a tiny header (1920 × 1080 × 3). The same frame inside the SWF was zlib- or LZMA-compressed and may have been vector geometry, so a 50 KB SWF can absolutely produce a 6 MB PPM frame. If size matters, convert the PPM to PNG or JPG afterward.
It's the magic number identifying the file as binary (raw) PPM. The Netpbm family uses P1–P6: P1/P4 are PBM bitmaps, P2/P5 are PGM grayscale, and P3/P6 are PPM color. The "3" variants are ASCII (human-readable decimal numbers); the "6" variants pack the raster as binary bytes. xconvert outputs binary P6 — it is roughly 3× smaller than P3 and is what every common library expects.
Use Multiple Screenshots in Frame Selection — it samples frames across the SWF timeline at the framerate or interval you pick (1, 2, 5, 8, 10, 12, 15, 20, 24, 25, 30, 50 fps), and each frame becomes its own .ppm file. For long animations a higher framerate produces more files; the output download will be a zip of the sequence. If you need a single combined animation instead, see SWF to GIF or SWF to MP4.
Yes. Adobe Flash Player end-of-life on December 31, 2020 only retired the runtime — the SWF file format is still parseable. xconvert decodes the SWF container server-side (zlib/LZMA-decompressing CWS/ZWS variants, rasterizing the vector stage at the requested resolution) and writes PPM bytes. No Flash Player install or browser plug-in is needed.
Windows has no built-in PPM viewer because PPM was never designed as an end-user format — it's an intermediate for graphics pipelines. Open .ppm files with GIMP, IrfanView, XnView, ImageMagick (magick display file.ppm), or any photo editor that lists "Netpbm/PNM" in its open dialog. Or convert it to a viewable format via PPM to PNG or PPM to JPG.
Pick 8-bit unless you have a specific HDR or scientific reason for 16-bit. Most SWF source content was authored at 8 bits per channel anyway (Flash never had a true HDR pipeline), so 16-bit output mostly just doubles the file size without recovering color information that wasn't there. Pick 16-bit only when you'll do heavy color-grading or curves work downstream and want headroom against banding.
No. PPM intentionally has no alpha channel — the Netpbm authors omitted transparency to keep the spec one page long. Transparent SWF areas render against whatever background color is set (default white or black). If you need transparency, use SWF to PNG instead — PNG supports an alpha channel and preserves Flash compositing.
xconvert handles typical SWF files (a few KB up to tens of MB) without trouble in a browser session. Heavily-coded SWFs with ActionScript-driven dynamic graphics may render the first frame of the stage rather than every scripted state — PPM only captures the rasterized output of the SWF playhead at the selected frame, not interactive runtime state.