ThumbCraftedTry Free Editor
Free · Private · No Upload

PNG Viewer

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

Nothing uploaded Reads every chunk Your file is never changed
Working...
The image you opened
100%
Point at the image to read a pixel.

This file

Image header (IHDR)

Transparency

Use it

Colour

Metadata

Where the bytes go

Every chunk

How to inspect a PNG file

1. Drop a PNG

Pick the file, drag it in or paste it. It is read from your device into memory and never sent anywhere.

2. Look at the picture

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.

3. Read the panels

The header, transparency, colour, metadata and animation panels decode the chunks, and the table lists every chunk with its offset, size and CRC check.

4. Fix or hand it on

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.

What the file says that the picture does not

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.

Colour types and bit depth

TypeWhat it storesTypical use
0 Greyscale1 channel, 1 to 16 bitsScans, masks, line art
2 TruecolourRGB, 8 or 16 bits per channelScreenshots and photos with no transparency
3 IndexedUp to 256 palette colours, 1 to 8 bits per pixelIcons, flat graphics, heavily optimised files
4 Greyscale with alpha2 channelsSoft shadows and masks
6 Truecolour with alphaRGBA, 8 or 16 bits per channelLogos, 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.

Alpha that nothing 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 chunks, EXIF and DPI

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.

Animated PNG

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.

PNG Viewer Questions

Is my image uploaded anywhere?
No. The file is read from your device into memory, the chunks are parsed by JavaScript in the page, and the picture is decoded by your browser. The line under the upload box counts the bytes of request body that leave the page while you work; it stays at zero.
My browser already opens PNG files. Why use this?
A browser shows the picture and nothing else. This page reads the file itself: bit depth, colour type, interlacing, the colour chunks, the DPI, text and EXIF metadata, APNG frames, the size of every chunk and whether each one passes its CRC check, plus a count of the pixels that are not fully opaque.
What does "declared but not used" mean for transparency?
The file has an alpha channel, or a tRNS chunk, but every pixel decodes fully opaque. The transparency is dead weight: a JPG or a PNG saved without alpha shows exactly the same picture.
What is the alpha only view?
It draws the alpha channel on its own as grey: white where a pixel is opaque, black where it is fully transparent, and grey for anything in between. Soft edges and stray semi-transparent pixels show up at once.
Can it read text chunks and generation settings?
Yes. tEXt is shown as stored, and zTXt and compressed iTXt are unpacked first. Every keyword and value appears in the metadata panel, which is where a prompt or a software name written by an image generator would be.
Does it show the DPI?
Yes, when the file has a pHYs chunk. It shows the DPI and the pixels per metre it is stored as. A PNG with no pHYs chunk has no DPI at all, and software falls back to its own default.
Does it work with animated PNG (APNG)?
Yes. It reads acTL and every fcTL, then shows the frame count, how many times it plays, the total length and each frame delay. The picture plays in the viewer the way your browser plays it.
What does a CRC mismatch mean?
Each chunk ends with a checksum of its type and data. A mismatch means those bytes changed after the file was written, usually through a damaged download or a tool that edited the chunk without updating the checksum. Browsers often still show the image.
Can it open WebP files too?
Yes. A WebP dropped here is read in full with the WebP reader; the WebP viewer page explains its fields. JPEG, HEIC and other formats are pointed to the tool that reads them.
What are the limits?
Files up to 50 MB. There is no cap on width or height in the code, so the browser's own decoder is the limit. The chunk table lists the first 400 chunks and counts the rest. Text values are shown up to 2,000 characters each. Zoom runs from 2% to 3200%. Transparency is counted on the first frame of an animated file. Compressed text and ICC profiles are unpacked with the browser's built-in decompressor, which every current browser has.
Does viewing change my file?
No. Nothing is written back to your file. Open in the editor sends a PNG copy of the first frame; the convert, compress and metadata buttons send the original file to that tool, which makes its own download.

Continue crafting

Keep going without re-uploading: the picture carries over to the next tool.

  1. 1ResizeResize for any platform or social preset
  2. 2EditAdd text, effects, or a fresh background