Initializing... drag & drop files here
Supports: PPM
PPM (Portable Pixmap) is the color member of the Netpbm family — alongside PBM (1-bit) and PGM (grayscale) — designed by Jef Poskanzer in the late 1980s as a "lowest common denominator" image format. Files store raw RGB samples with a tiny ASCII header (magic number, width, height, maxval), so they're trivial for a program to write but enormous on disk. PDF is the universal share-and-archive container: every modern OS, browser, and email client renders it the same way. Merging your PPMs into one PDF turns a folder of multi-megabyte raw frames into a single document a colleague can open without installing GIMP or ImageMagick.
xwdtopnm | pnmtoppm | … chains commonly end in PPM. The merge step gives the result a paper size (Letter/A4) and margins so it actually prints cleanly instead of bleeding off the page.| Property | PPM (Portable Pixmap) | PDF (Portable Document Format) |
|---|---|---|
| Type | Raster image, 1 image per file (post-July 2000 spec allows multi-image) | Document container, multi-page |
| Compression | None (raw RGB samples) | Flate, JPEG, JPEG2000, JBIG2 per object |
| Color depth | 8-bit/channel typical, up to 16-bit/channel (maxval ≤ 65535) | 1, 8, 16-bit/channel; CMYK, sRGB, Lab |
| Transparency | None — RGB only (PAM extends Netpbm with alpha) | Full alpha + transparency groups |
| Encodings | P3 (ASCII) or P6 (binary) | Binary, optionally Flate-compressed streams |
| Header | P6\n<w> <h>\n<maxval>\n<raster> |
Cross-reference table, object dictionary |
| Typical 1080p 24-bit size | ~6 MB | ~150-800 KB (JPEG) or ~2 MB (Flate) |
| Native viewer on Windows/macOS | None — needs IrfanView, GIMP, etc. | Built-in Preview, Edge, Chrome, Acrobat |
| Standard | de facto (Netpbm project) | ISO 32000-2:2020 |
| Best for | Pipeline interchange, simple I/O | Sharing, printing, archiving |
| Setting | Roughly equivalent to | Use when |
|---|---|---|
| Screen (default) | 72 DPI, JPEG quality ~40 | Email, web preview, smallest file |
| Ebook | 150 DPI, JPEG quality ~60 | On-screen reading, tablets |
| Default | Balanced 150 DPI | General-purpose share |
| Prepress | 300 DPI, color-preserving | Sending to a print shop |
| Printer | 300 DPI, lossless where possible | Office laser printing, archive |
These map to Ghostscript's /screen, /ebook, /default, /prepress, and /printer PDFSETTINGS presets — the same buckets professional PDF tooling uses.
PPM stores raw RGB bytes — no compression at all. A 1920×1080 8-bit-per-channel PPM is 1920 × 1080 × 3 ≈ 6.2 MB regardless of content. Inside a PDF the same image is re-encoded with JPEG (Screen/Ebook/Default presets) or Flate (Prepress/Printer), which typically shrinks it 5-20× depending on how busy the image is. Photographic frames compress hardest; line art and text-on-flat-color compress less.
Yes. The Netpbm spec defines P3 (decimal RGB triplets in plain text) and P6 (the same triplets packed as binary bytes after the ASCII header). Both decode to the same pixels — P6 is just smaller and faster to read. The merger handles both transparently.
This page is configured for PPM specifically. For grayscale PGM, monochrome PBM, or the umbrella PNM extension, convert them to PPM or PNG first (most Netpbm tools — pgmtoppm, pbmtoppm — do this in one command), or use Merge Images to PDF which accepts a wider mix. Note that PBM/PGM converted to PPM gain no real data — the file just gets ~3× larger because every pixel becomes an RGB triplet.
For on-screen reading or sharing, pick "Original" (matches the PPM's pixel dimensions to the page) or "Screen size" — no wasted whitespace. For printing, pick A4 in most countries or Letter in the US/Canada with Contained placement and at least Narrow margins so the image doesn't run into the printer's unprintable edge.
Contained (default) fits the entire image inside the page with margins; you may see whitespace top/bottom or left/right if the image aspect ratio doesn't match the paper. Cover fills the entire page with the image — no whitespace, but parts of the edges are cropped if aspect ratios disagree. Use Contained for scientific figures (don't crop data); use Cover for full-bleed photo books or visual archives.
The Screen, Ebook, and Default compression presets re-encode each PPM as JPEG inside the PDF, which is lossy — small color shifts and 8×8 block artifacts on hard edges. For archive-grade or measurement-grade images, set Image Quality to 95-100% and pick Prepress or Printer compression; those keep more bits but the file gets larger. If absolute byte-for-byte fidelity matters, keep the source PPMs alongside the PDF.
Yes. Switch Combine? to "Individual PDFs" and you'll get one one-page PDF per input PPM. This is handy when you want PDFs for downstream tools but still need to track each frame separately, or when you want to merge in a different order later in another tool.
Files are processed in your browser session — no account needed and no watermark. For batches of very large PPMs (raytracer outputs at 4K can hit 25+ MB each), close other heavy tabs first since the encoder works in memory. If you only need PPM-to-PDF for a single image without the merge step, Convert PPM to PDF handles single-file conversions; for raster output instead of PDF, Convert PPM to PNG or Convert PPM to JPG shrinks the file without involving a document container.
The merger doesn't rotate per-file — pick Page layout: Landscape if most of your images are wider than tall, or pre-rotate the PPMs in a tool like GIMP or ImageMagick (convert input.ppm -rotate 90 out.ppm) before uploading. For mixed batches, Contained placement is the safest default since each image scales to fit whatever page orientation you chose.