Initializing... drag & drop files here
Supports: PPM
PPM is the Netpbm Portable Pixmap: a three-line ASCII header followed by raw RGB samples, with no compression, no alpha channel and no embedded colour profile. It is the format OpenCV, ImageMagick, FFmpeg, Pillow and the Netpbm command-line tools reach for when they need a working intermediate that any program can parse in a dozen lines of code. AVIF is the opposite end of the same pipeline — the AV1 Image File Format, published by the Alliance for Open Media, which takes those raw samples and compresses them harder than JPEG or WebP can. This page documents exactly what goes in, exactly what comes out, and where the output stops short of what the AVIF specification allows.
| Property | Value |
|---|---|
| Full name | Netpbm Portable Pixmap |
| Magic numbers | P3 (plain ASCII samples), P6 (raw binary samples) |
| Header | Magic number, width, height, maxval — all ASCII decimal |
| Maxval range | Greater than zero and less than 65536 |
| Bytes per sample | 1 if maxval < 256, otherwise 2, most significant byte first |
| Compression | None. A P6 file is width x height x 3 bytes plus the header |
| Alpha channel | Not supported — red, green and blue only |
| Colour profile | Cannot be embedded; the spec defines samples against ITU-R BT.709 |
| Spec's own verdict | "This format is egregiously inefficient. It is highly redundant" |
| Best for | Pipeline interchange, test fixtures, teaching, pixel-exact debugging |
The AVIF specification is broad — 8, 10 and 12-bit depths, alpha, image sequences, lossless mode. What this converter emits is a narrower, well-defined subset, verified by inspecting the actual output files.
| Property | What this page produces |
|---|---|
| Specification | AV1 Image File Format v1.2.0, Alliance for Open Media (October 2025) |
| Container | ISOBMFF via HEIF; ftyp major brand avif, compatible brands mif1, avif, miaf |
| Codec | AV1, still image item |
| Bit depth | 8 bits per channel — the spec permits 10 and 12, but this path does not select them |
| Chroma | 4:4:4 at the Highest, Very High and High presets; 4:2:0 at Medium and below |
| Alpha | None, and none was available — PPM carries no alpha to preserve |
| Mode | Lossy. There is no lossless toggle on this page |
| Encoder effort | Fixed; the speed and compression-level controls do not render here |
| Native browser support | 94.67% of tracked global usage (Chrome 85+, Firefox 93+, Safari 16.4+, Edge 121+) |
.avif. Files upload over an encrypted connection, are processed on our servers, and are deleted automatically after a few hours. No sign-up, no watermark.Measured on one 1600 x 1200 test image saved as a P6 pixmap of 5,760,017 bytes, encoded through the same saver and the same quality values this page uses. Content drives these numbers heavily — grain and fine texture cost far more than smooth shading — so read the shape of the curve rather than the absolute bytes.
| Preset | Encoder quality | AVIF bytes | Chroma | Same image as JPEG, same rung |
|---|---|---|---|---|
| Highest | 100 | 108,745 | 4:4:4 | 323,730 |
| Very High (default) | 95 | 50,274 | 4:4:4 | 148,641 |
| High | 90 | 34,103 | 4:4:4 | 108,807 |
| Medium | 80 | 11,930 | 4:2:0 | 53,935 |
| Lowest | 50 | 6,154 | 4:2:0 | 41,687 |
Two things are worth pulling out. First, the default preset landed at roughly a third of the JPEG at the same rung, which is the usual reason to pick AVIF at all. Second, the chroma column changes between High and Medium: the top three presets keep full-resolution colour, and Medium downward halves it in each direction. If your image has saturated red or magenta edges — UI screenshots, charts, logos on colour — staying at High or above is worth more than the byte saving.
Clean. A PPM has no compression of its own — it is a header plus a flat array of samples — so this is a single, first-generation lossy step with no inherited artifacts for the encoder to spend bits preserving. That is the ideal input. Encoding a PPM straight to AVIF is meaningfully better than exporting your pipeline to JPEG first and converting that, because a JPEG has already discarded detail that no later encoder can recover.
No. The AVIF specification permits 8, 10 and 12-bit depths, but the encoder here is driven with a quality value only, and every output we inspected reported 8 bits per channel. There is also nothing wider to preserve on the way in: a PPM stores plain integer RGB samples with no HDR metadata and no colour profile, so there is no high dynamic range in the source to carry through.
Not from this page — the lossless toggle does not render here, so the output is always lossy AV1. If you need the exact samples back for pixel-diff testing, reproducible research or further numeric processing, keep the PPM itself or use PPM to PNG, which compresses without discarding anything.
By a very large factor, because the starting point is uncompressed. A 1920 x 1080 8-bit pixmap is 1920 x 1080 x 3, or about 6.2 MB, whatever the picture contains. Our 1600 x 1200 test pixmap was 5,760,017 bytes and came out at 50,274 bytes at the default preset — roughly 1% of the original. Treat the raw size only as the "before" figure; the "after" depends entirely on content and preset.
Because a PPM cannot carry a colour profile. Its header is only a magic number, width, height and maxval, and the specification defines the samples against the ITU-R BT.709 transfer function. In practice tools including ours read and write those samples as sRGB, which shares BT.709's primaries and white point and differs only slightly in the transfer curve. If your pipeline worked in a wider gamut such as Display P3 or Adobe RGB, convert to sRGB before writing the pixmap — otherwise those numbers get reinterpreted rather than converted.
There was none to lose. PPM stores red, green and blue samples and nothing else, so there is no alpha channel in the source. AVIF itself supports alpha through a separate auxiliary image item, but with an opaque pixmap going in there is nothing for it to hold. If your wider workflow needs transparency, carry it in PNG or the Netpbm PAM format rather than PPM.
caniuse currently reports AVIF at 94.67% of tracked global browser usage: Chrome 85 and later, Firefox 93 and later, Safari 16.4 and later on desktop, and Edge 121 and later. The realistic gaps are Apple devices left on pre-2023 releases and older desktop image software that predates the format. For something that opens essentially anywhere, PPM to JPG is the safer export.
Because it is the lowest-friction interchange format there is. Any program can write a Netpbm file with a printf and a byte dump, and any program can read one without a library. That makes it the natural scratch format between stages of a processing chain — but it is deliberately a working format, not a delivery format, which is exactly why compressing it at the end of a pipeline is the right move.
Your pixmap is uploaded over an encrypted connection and encoded on our servers. Files are deleted automatically after a few hours, there is no sign-up and no watermark, and nothing is shared or made public.