viewhack

Krita file viewer: open a .kra or .ora without Krita

Got a .kra, .krz or .ora and no Krita on this computer or phone? Drop it here. You get the full picture, the canvas size, DPI and colour depth, the whole layer tree, each paint layer on its own, and Save as PNG for the picture and every layer.

The file is read by this tab only. It is not uploaded and not changed.

What it shows

What it cannot do

Useful to know about Krita and OpenRaster files

What is inside a .kra
A .kra is a ZIP archive. Its first entry, mimetype, holds the text application/x-krita. maindoc.xml describes the canvas and the layer tree; preview.png is the thumbnail file managers show; mergedimage.png is the full flattened picture. Each paint layer is a file under layers/ in Krita’s own tiled format: a short text header (VERSION 2, TILEWIDTH 64, TILEHEIGHT 64, PIXELSIZE, DATA), then one entry per 64 × 64 pixel tile that holds something, each compressed with LZF. Empty tiles are not stored at all. Renaming a copy to .zip and unzipping it gets you mergedimage.png without any tool; the layers themselves are not PNGs, which is why this page decodes them.
A worked example
cornerweb_tl.kra, a CC0 spider-web sprite by electronsandsuch on OpenGameArt, is 109,486 bytes. It reads as a 270 × 254 pixel canvas at 72 DPI, RGB 8-bit in the sRGB-elle-V2-srgbtrc profile, saved by Krita 4.2.9, with one paint layer, “Layer 1 (pasted)”. That canvas spans 5 × 4 tiles; all 20 are stored, 327,680 bytes of pixels packed into 48,949 (15 %). Decoded here, the layer matches Krita’s own mergedimage.png in every one of its 68,580 pixels.
Bit depth and memory
One 64 × 64 tile holds 16 KB of pixels in 8-bit RGBA, 32 KB in 16-bit and 64 KB in 32-bit float. A 16-bit file is therefore twice the memory of the same picture in 8 bits, for smoother gradients and room for heavy edits; on a typical 8-bit screen the two look the same, which is why this page converts down.
Pixels, DPI and print size
DPI changes nothing in the pixels; it only says how large the picture is meant to print. Print size is pixels ÷ DPI: 2480 × 3508 pixels at 300 DPI is exactly A4 (21.0 × 29.7 cm); the same canvas at 72 DPI would be 87.5 × 123.8 cm.
.kra, .krz and .ora
.krz is Krita’s archival variant of .kra: the same container, saved without the merged picture so it is smaller, which is why this page composites the layers of a .krz itself. .ora (OpenRaster) is an open layered format that MyPaint uses natively and that Krita, GIMP and Pinta can save: a ZIP with stack.xml, one PNG per layer, mergedimage.png and a thumbnail. Each of its layers is already a PNG, so it is shown and saved as it is.
Without Krita
Krita is free for Windows, macOS, Linux and Android tablets, and installing it is the full answer if you want to edit. This page is for when you cannot install software (a work PC, a phone), only need the picture or one layer as a PNG, or want to look inside before you do.