Initializing... drag & drop files here
Supports: MP4, M4V
This tool extracts a still frame from an MP4 video and saves it as PPM (Portable Pixmap), an uncompressed pixel format from the Netpbm family. It is frame extraction, not playback: you pick a moment in the video and get the raw RGB pixels of that frame, with no JPEG-style compression artifacts to clean up later. PPM is a common starting point for image-processing and computer-vision pipelines, where the goal is to read every pixel exactly as decoded rather than re-compress it.
| Property | Value |
|---|---|
| Standard | MPEG-4 Part 14, ISO/IEC 14496-14 |
| First published | 2003, built on the ISO Base Media File Format and QuickTime |
| Type | Container, not a codec |
| Typical video codecs | H.264/AVC and H.265/HEVC |
| Typical audio codec | AAC |
| Accepted here | .mp4 and .m4v |
| Role in this tool | Source video that frames are decoded from |
| Property | Value |
|---|---|
| Family | Netpbm (alongside PBM, PGM, PAM), created by Jef Poskanzer in the late 1980s |
| Maintained | Yes — the Netpbm spec is a living document, last revised November 2025 |
| Encodings | P3 (plain ASCII) and P6 (raw binary) |
| Color model | RGB triplets, one value per channel |
| Bit depth | 24-bit (8 bits/channel) or 48-bit (16 bits/channel); maxval 1–65535 |
| Compression | None — fully uncompressed and lossless |
| Native browser support | No — browsers render JPEG, PNG, GIF, WebP, AVIF, SVG, BMP and ICO, but not PPM |
| Best for | A neutral, exact-pixel intermediate for image-processing and computer-vision work |
Because PPM stores every pixel with no compression, the files are large. The Netpbm reference notes a small 192×128 image that is 166 bytes as PNG and 73,848 bytes as PPM — roughly 445 times bigger for the same picture. That is the trade-off: PPM is bulky to store but trivial for a program to read and write, so it is favored as an intermediate rather than a delivery format.
.mp4 or .m4v from your computer.For a far smaller, web-friendly still instead of raw pixels, use MP4 to PNG (lossless and compressed) or MP4 to JPG. To turn a PPM back into a portable image afterward, see PPM to PNG.
It captures still frames, not a moving file. PPM is a single-image format with no concept of video or audio, so there is nothing to "play." Use Frame Selection to grab one frame at a chosen second, or Multiple Screenshots to pull a set of frames from across the clip — each becomes its own PPM image.
Most pipelines want P6, the raw binary encoding, 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 the values. For feeding frames into a program, P6 is the practical default.
PPM has no compression at all — every pixel is written out in full. The Netpbm reference shows a 192×128 image at 166 bytes as PNG versus 73,848 bytes as PPM, around 445 times larger. That size is the point: nothing is thrown away or re-encoded, so a program reads back the exact RGB values the decoder produced. If you need a small file to share, convert to PNG or JPG instead.
No. PPM is lossless and uncompressed, so the extracted frame keeps the full RGB values from decoding the MP4 — there are no JPEG-style blocking artifacts. The only quality limit is the source video itself: a frame is only as sharp as the resolution and codec quality of the MP4 it came from.
Not by default. Browsers display JPEG, PNG, GIF, WebP, AVIF, SVG, BMP and ICO, but not PPM, and many image viewers skip it too. PPM is meant as a working format for tools like ImageMagick, GIMP, FFmpeg and OpenCV. To view or share the frame normally, convert it to PNG or JPG — for example with PPM to JPG.
It can, but only if the source has that detail. 16-bit PPM stores up to 48 bits per pixel and is useful when a frame came from high-bit-depth footage or will go through heavy processing where banding would otherwise show. Standard 8-bit (24-bit-per-pixel) PPM matches typical MP4 video, which is usually 8-bit, so for most clips 8-bit is the honest choice and avoids padding values that add no real information.
Yes — that is the main reason this conversion exists. PPM is a simple, well-documented raster with a tiny header followed by raw RGB, so it is straightforward for code to parse, and tools like OpenCV, Pillow and ImageMagick read it directly. Extracting frames to PPM gives you exact, uncompressed pixels to work from rather than data already altered by JPEG compression.