Your browser shows the picture. This shows the file.
Drop a PNG to read it byte by byte: bit depth, colour type, every chunk with its size, the DPI it claims, the text and EXIF tools wrote into it, and whether its transparency is used by any pixel at all. Zoom in on a checkerboard or look at the alpha channel on its own. Nothing is uploaded.
Drop or click to open
Drag & drop, paste, or pick a file
PNG and APNG, also reads WebP. 50MB max
Pick the file, drag it in or paste it. It is read from your device into memory and never sent anywhere.
Zoom up to 3200% with pixels kept sharp, switch the background between checkerboard, white and black, or view the alpha channel alone. Point at any pixel to read its RGBA values.
The header, transparency, colour, metadata and animation panels decode the chunks, and the table lists every chunk with its offset, size and CRC check.
Send it to the editor, convert it to JPG or WebP, compress it, strip its metadata, or check it against a platform, without uploading it again.
A PNG is a signature followed by a list of chunks. Each one has a four-letter name, a length and a CRC checksum. IHDR sets the width, height, bit depth and colour type; IDAT holds the compressed pixels; IEND closes the file. Everything else is optional, and that optional part is where most of the questions come from: what colour space it claims, what DPI a print shop will read, which program saved it, and whether it carries a location.
| Type | What it stores | Typical use |
|---|---|---|
| 0 Greyscale | 1 channel, 1 to 16 bits | Scans, masks, line art |
| 2 Truecolour | RGB, 8 or 16 bits per channel | Screenshots and photos with no transparency |
| 3 Indexed | Up to 256 palette colours, 1 to 8 bits per pixel | Icons, flat graphics, heavily optimised files |
| 4 Greyscale with alpha | 2 channels | Soft shadows and masks |
| 6 Truecolour with alpha | RGBA, 8 or 16 bits per channel | Logos, cut-outs, anything placed over something else |
Types 0, 2 and 3 can still be transparent through a tRNS chunk: one colour key for greyscale and RGB, or an alpha value for each palette entry. The transparency panel says which of these the file uses.
Many programs save every PNG as RGBA, whether or not anything in it is see-through. Declaring alpha is free to do and easy to miss, so the viewer does not trust the header: it reads every decoded pixel and counts the ones below full opacity. When the answer is zero, the file carries an alpha channel no pixel uses. In 8-bit RGBA that is one sample in four of the raw pixel data. Deflate packs a constant channel far smaller than that, but it is still stored, and a picture with nothing transparent in it can go to JPG without losing any transparency, because it never had any.
The Alpha only view draws the alpha channel by itself: white is opaque, black is transparent, grey is in between. It is the quickest way to see a soft edge, a stray half-transparent pixel in a corner, or a cut-out that was never cleaned up.
tEXt, zTXt and iTXt hold keyword and value pairs: the software that saved the file, an author, a comment, a creation time. Some image generators write the prompt and settings they used into a text chunk. The viewer unpacks the compressed kinds and shows every key and value, so you can see what you are about to share. An eXIf chunk carries the same camera and GPS block a JPEG does, read here with the same reader as our EXIF tool.
pHYs stores pixel density in pixels per metre. 2835 is 72 DPI and 11811 is 300 DPI. Screens ignore it. Print software and some document tools read it to decide how large the image prints.
An APNG adds acTL (frame count and plays), one fcTL per frame (size, offset, delay, blend and dispose) and fdAT chunks for the frame pixels. A program that does not know APNG shows the first frame and ignores the rest, which is why an APNG can sit in a folder looking like an ordinary PNG. The animation panel lists the frame count, plays, total length and every frame's delay.
Keep going without re-uploading: the picture carries over to the next tool.