Initializing... drag & drop files here
Supports: FLV
An FLV is a Flash-era video — hundreds of frames over time — and a PPM is a single, uncompressed still from the Netpbm family. This tool grabs one frame from the FLV and saves it as a raw RGB pixmap, discarding all motion. The honest short answer: if you want a lossless still to keep, view, or share, grab a PNG instead — it is equally lossless but a fraction of the size. Reach for PPM only when an image-processing or Netpbm pipeline specifically wants raw, uncompressed pixmaps.
| Property | PPM (Portable Pixmap) | PNG |
|---|---|---|
| Family / standard | Netpbm (PBM/PGM/PPM/PAM), Jef Poskanzer, late 1980s | W3C / ISO/IEC 15948 |
| Compression | None — fully uncompressed | Lossless DEFLATE |
| Fidelity vs decoded frame | Pixel-exact, no further loss | Pixel-exact, no further loss |
| Typical file size | Large: about width × height × 3 bytes |
Much smaller for the identical picture |
| Encodings | P3 (plain ASCII) or P6 (raw binary) |
Single binary stream |
| Max bit depth | Up to 16 bits/channel (48-bit), maxval 1–65535 | Up to 16 bits/channel |
| Transparency | None | 8-bit alpha |
| Native browser support | No | Universal (every browser, every OS) |
| Best for | Raw pixmap input to OpenCV / Pillow / ImageMagick | A lossless still to view, share, or archive |
Both formats reproduce the decoded frame with no further loss, so for a grabbed FLV frame the choice is purely about size and where the file is going. PPM hands a program a tiny header followed by raw RGB it can read instantly; PNG wraps the exact same pixels in lossless compression that shrinks the file dramatically.
pnmscale, ppmtopgm, and friends) where PPM is the native currency..flv onto the page or click "+ Add Files" to pick it. Old YouTube downloads from the 2008–2014 era, archived Flash-era webinars, and recorded e-learning lectures all work, and you can queue several clips.0, the very first frame — or switch to Multiple Screenshots to export several frames as separate PPMs..ppm. No sign-up, no watermark.Just one frame. A video is many frames over time, but a PPM holds a single still, so this tool decodes exactly one moment — by default the very first frame at 0 seconds — and saves it as an uncompressed pixmap. All motion and audio are discarded. If you need several stills, switch Frame Selection to Multiple Screenshots, which samples frames across the clip and returns each as its own PPM. To keep the motion instead, convert to an animated GIF.
It is pixel-exact to the decoded frame, not to the original camera capture. FLV stores video with lossy codecs — usually Sorenson Spark (H.263), On2 VP6, or later H.264 — so whatever detail the encoder discarded is gone before PPM ever sees it. "Lossless" here means PPM adds no further loss: no JPEG blocking, no re-quantization, just the exact RGB values the decoder produced, artifacts and all. PPM cannot recover detail the source FLV never recorded.
Because PPM stores every pixel raw with no compression at all; a 24-bit P6 PPM is about width × height × 3 bytes regardless of content. The Netpbm spec itself calls the format "egregiously inefficient" and "highly redundant" — that simplicity is the whole point. The FLV is tiny by comparison because its codec discards perceptually redundant data and predicts between frames. A PNG of the same frame is lossless too but compresses, which is why PNG is the better lossless grab unless a tool specifically needs raw pixmaps.
For FLV, leave it at 8-bit. PPM can store up to 16 bits per channel — a 48-bit pixmap, maxval up to 65535 per the Netpbm PPM spec — but a frame decoded from an old 8-bit FLV codec has no precision beyond 8 bits to capture. Choosing 16-bit just pads each value with zeros and doubles the file for no real gain. The 16-bit option exists for genuinely high-bit-depth sources or tools that insist on 16-bit input; an FLV frame is neither.
The output is P6, the raw binary encoding — the practical default for feeding frames into a program because it is compact relative to ASCII and reads fast. P3 stores each pixel value as human-readable text, which roughly triples the size and is mainly useful when you want to eyeball or hand-edit values. In our testing, a single 480×360 frame from a typical Flash-era FLV came out around 518 KB as a 24-bit P6 PPM, in line with the uncompressed width × height × 3 bytes you would expect — a PNG of that same frame is a fraction of the size.
Usually not. PPM is not a web or consumer image format — browsers render JPEG, PNG, GIF, WebP, AVIF, SVG, BMP and ICO, but not PPM, and many photo viewers skip it too. Open it in ImageMagick, GIMP, OpenCV or Pillow, or convert it back to something portable with PPM to PNG. If you just wanted a viewable still in the first place, grab the frame as a PNG directly.
Most of the time, yes. FLV files using H.263 / Sorenson Spark, On2 VP6, or later H.264 inside the FLV container all decode for frame extraction here, even though Adobe ended support for Flash Player on December 31, 2020 — the container still decodes in modern tooling. If a particular FLV refuses to load, it is usually truncated from an interrupted Flash-era download; open it in VLC and re-save with "Convert / Save" to repair the container first, then grab the frame.
Your FLV is uploaded over an encrypted connection, processed on our servers, and the upload plus the generated PPM are deleted automatically a few hours after conversion. There is no sign-up, no watermark, and files are never shared or made public.