Initializing... drag & drop files here
Supports: TIFF, TIF
.tiff or .tif image. Batch upload is supported, and Files are uploaded over an encrypted connection, processed on our servers, and deleted automatically after a few hours — no sign-up, no watermark, never shared..ppm file. Multi-file uploads can be grabbed individually or as a ZIP.TIFF is a flexible, metadata-rich container used by scanners, microscopes, and the print industry, but most image-processing toolkits prefer a "lowest common denominator" pixel format with no compression and no parsing surface. PPM — the Portable Pixmap format from Jef Poskanzer's pbmplus toolkit (released 1988, maintained today as Netpbm) — fits that role exactly: a tiny three-line header followed by raw RGB triplets. Converting TIFF to PPM is the standard way to hand image data off to a pipeline that expects something simple and uncompressed.
ppmtojpeg, ppmquant, pnmscale) and a first-class input to ImageMagick's convert/magick, which routinely uses PPM as an intermediate when chaining filters.cv::imread accepts PPM (8-bit and 16-bit unsigned), and many CS curricula (Rhodes, Berea, EECS 280) use PPM as the first format students parse by hand because the header is human-readable.Need the round trip? Convert PPM back to TIFF after your pipeline runs, or take the same TIFF to a more web-friendly target via TIFF to PNG or TIFF to JPG.
| Property | TIFF | PPM |
|---|---|---|
| Year introduced | 1986 (Aldus) | 1988 (pbmplus, Jef Poskanzer) |
| Compression | None, LZW, PackBits, ZIP/Deflate, JPEG, CCITT | None — raw pixel data only |
| Bit depth per channel | 1, 8, 16, 32 (float) | 1–16 (PPM maxval up to 65,535) |
| Color model | Grayscale, RGB, CMYK, Lab, YCbCr | RGB only (PGM for grayscale, PBM for 1-bit) |
| Alpha / transparency | Yes (extra samples) | No |
| Metadata | EXIF, IPTC, XMP, ICC profiles, GeoTIFF tags | None — header is width, height, maxval |
| Multi-page / layers | Yes (IFD chain) | No — one image per file |
| Magic bytes | II*\0 (little-endian) / MM\0* (big-endian) |
P3 (ASCII) or P6 (binary) |
| Typical 1920×1080 size | 6–24 MB depending on compression | ~6 MB (8-bit) / ~12 MB (16-bit) |
| Primary use | Print, photography, archival, scanning | Pipeline intermediate, CS coursework, embedded |
| Bit depth setting | PPM maxval | Bytes per pixel | 1920×1080 size | Typical use |
|---|---|---|---|---|
| 8-bit (Recommended) | 255 (P6 raw) | 3 | ~6.2 MB | OpenCV, ImageMagick, general interchange |
| 16-bit (High Precision) | 65535 (P6 raw) | 6 | ~12.4 MB | Scientific imaging, HDR workflows, color grading |
| 1-bit (Black & White) | n/a — exports as PBM | 1 bit | ~260 KB | OCR pre-processing, fax, line art |
The 8-bit setting matches the "minimal subset" most libnetpbm consumers expect (maxval=255, P6 binary). 16-bit is still standards-compliant PPM but some older readers cap at maxval=255 — verify your downstream tool before committing to it. The 1-bit option emits a PBM (Portable Bitmap), the single-bit sibling format from the same Netpbm family.
PPM is uncompressed by definition. The Netpbm spec stores raw RGB triplets in either ASCII (P3) or binary (P6) — there is no LZW, ZIP, or JPEG variant. If you need a smaller file, lower the resolution or bit depth, or convert to TIFF or PNG afterward and let those formats handle compression.
The converter outputs P6 (binary) by default because that is what virtually every consumer — OpenCV, ImageMagick, GIMP, libnetpbm — expects. P3 plain-text is mostly useful for teaching, debugging, or checking pixels into a Git-tracked test fixture; if you specifically need P3, run the file through pnmtoplainpnm after download.
Only the first image directory (IFD) of a multi-page TIFF is converted, because PPM has no multi-page container. If you have a multi-page document scan, split it first (most tools like tiffsplit from libtiff do this) and convert each page individually, or use TIFF to PDF to keep everything in one file.
PPM has no alpha. Transparent pixels are composited against an opaque background (typically black) during conversion. If you need to preserve transparency for downstream use, convert the TIFF to PNG or stay in TIFF — both keep the alpha sample intact.
No. The PPM header is three lines — magic number, width and height, maxval — with no metadata slots at all. Color profiles, EXIF camera tags, IPTC keywords, and GeoTIFF georeferencing are stripped. For georeferenced workflows that need to keep CRS info, stay in TIFF or use a GDAL pipeline.
PPM size is deterministic from dimensions and bit depth: roughly width × height × 3 bytes for 8-bit and width × height × 6 bytes for 16-bit, plus a tiny header. A 4000×3000 photo lands at about 36 MB at 8-bit and 72 MB at 16-bit — far larger than the same image as JPEG or compressed TIFF, which is the trade-off for the format's simplicity.
Yes. cv2.imread('output.ppm') reads both 8-bit and 16-bit binary PPM (P6) as CV_8UC3 or CV_16UC3 respectively. There is one historical gotcha — some older OpenCV builds refused ASCII P3 — but the binary P6 output this tool produces works on every supported OpenCV release.
Many casual viewers (Preview on macOS, Photos on Windows, GIMP's default display path) assume maxval=255 and clip 16-bit data to 8-bit on display. The file is fine — load it in ImageMagick (magick identify -verbose) or OpenCV to confirm the per-pixel values. If you need a viewable preview for non-technical reviewers, convert to PNG, which natively supports 16-bit.
Yes — no sign-up, no watermark, no per-file size gating on standard conversions. processing happens on our servers and uploads are removed after the session ends, which matters for sensitive scientific or medical TIFFs that shouldn't sit on a third-party server.