SWF to PPM Converter

Convert SWF files to PPM 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 resolution
Bit Depth
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.

How to Convert SWF to PPM Online

  1. Upload Your SWF File: Drag and drop your .swf file, or click "+ Add Files" to select one from your computer. Batch upload is supported, so you can queue multiple Flash files at once.
  2. Pick Frame Selection: Capture a Specific Frame at a chosen time (enter seconds, e.g. "2.100" for 2.1 s), or use Multiple Screenshots to extract several frames across the timeline. Set Bit Depth to 8-bit (Recommended) for standard 24-bit RGB output, 16-bit (High Precision) for 48-bit color, or 1-bit (Black & White) for monochrome.
  3. Resize the Output (Optional): Keep the original SWF stage size, pick a Preset Resolution, scale by Resolution Percentage, or set custom Width / Height. PPM is uncompressed, so smaller dimensions cut file size linearly.
  4. Convert and Download: Click "Convert" and your .ppm file(s) appear in the download list. Everything happens in a sandboxed browser session — no plug-in, no Flash Player install, no watermark.

Why Convert SWF to PPM?

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.

  • Computer-vision and ML pipelines — Many academic image-processing libraries and graders (OpenCV's 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.
  • Flash-era game and animation archival — Researchers and the Internet Archive's Flash collection extract individual frames from SWF cartoons, banner ads, and educational interactives for catalog thumbnails. PPM preserves every pixel losslessly so the master can later be re-encoded to PNG, AVIF, or WebP without generation loss.
  • Custom rendering or compositing tools — Hand-rolled C/Rust/Python utilities that need a trivial-to-parse input file. The PPM header is human-readable; the binary raster is just width × height × 3 (or × 6 for 16-bit) bytes in big-endian order, per the Netpbm spec.
  • Print-shop and DTP workflows — Some prepress RIPs and proofing systems accept PPM/PNM as a neutral interchange format alongside TIFF. Pulling Flash-era logos or storyboards out as PPM lets a print operator hand them to ImageMagick or GIMP for color-managed conversion to CMYK TIFF.
  • Forensic and security analysis — Investigators rebuilding evidence from old Flash banners or malicious SWF payloads often want raw bitmaps with no decoder in the chain. PPM has no compression to fuzz, no metadata to hide payloads in, and no patent risk.
  • Education — PPM is the canonical "first image format" taught in graphics and systems courses (Stanford CS148, many ray-tracing-in-a-weekend tutorials write PPM directly). Converting an SWF clip into a PPM gives students real input data to load with fread in 10 lines of code.

SWF vs PPM — Format Comparison

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

Bit-Depth and Resolution Quick Guide

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

Frequently Asked Questions

Why is my PPM so much larger than the SWF?

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.

What does the "P6" at the top of my PPM file mean?

It's the magic number identifying the file as binary (raw) PPM. The Netpbm family uses P1P6: 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.

Can I extract every frame of an SWF animation as a sequence of PPMs?

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.

Does the converter still work now that Flash Player is gone?

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.

Why doesn't my PPM open when I double-click it on Windows?

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.

Should I pick 8-bit or 16-bit depth?

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.

Will transparent SWF backgrounds become transparent in the PPM?

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.

Is there a file-size limit for SWF uploads?

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.

Rate SWF to PPM Converter Tool

Rating: 4.8 / 5 - 110 reviews