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
- The full picture, exactly. Krita stores a flattened copy of the painting, mergedimage.png, inside every .kra it saves; OpenRaster files carry one too. That is what you see first, pixel for pixel as the program drew it, filters and vector layers included. A file without one (a .krz, or an old .ora) has its visible paint layers composited here instead, and the page says which layers that leaves out.
- Canvas facts: width and height in pixels, the resolution (DPI) and what it means in centimetres and inches on paper, the colour model and bit depth (RGB, grey or CMYK; 8-bit, 16-bit or floating point), the colour profile’s name, the title and author when the file holds them, and the Krita version that saved it.
- The layer tree, top first as in Krita’s Layers docker: groups with their layers inside, each with its name, kind (paint, vector, filter, fill, file or clone layer), opacity, whether it is hidden, its blend mode and any offset, plus the masks attached to it.
- Each paint layer on its own, shown or hidden with one button, on a checkerboard so its transparent parts show. Krita’s compressed layer tiles are decoded here; 16-bit and floating-point layers are converted to 8 bits for the screen.
- Save as PNG for the whole picture, the embedded thumbnail and each paint layer separately, transparency kept: useful when you need one layer in another program, or the picture for a slide.
What it cannot do
- Filter, vector, clone, fill and file layers are listed but not re-rendered. The stored full picture already includes them. Shown on their own, they would need Krita’s filters, its vector engine or the linked file, which this page does not have.
- Masks are listed, not applied. A paint layer shown on its own appears without its transparency or filter masks.
- When the file stores no full picture, the picture made here is an approximation: Normal layers are exact, Multiply, Screen, Overlay and the other common modes use the standard W3C formulas, and Krita-only modes (Grain Merge, Hard Mix and the like) are drawn as Normal and named.
- Colour is converted, not managed. High bit depths are reduced to 8 bits, float values brighter than 1.0 are clipped, CMYK is converted with a plain formula and ICC profiles are not applied. Lab, XYZ and YCbCr layers are listed but not drawn.
- Animation is not played: an animated layer shows the pixels stored as its main data, not its other frames.
- It edits nothing and cannot save a changed .kra or .ora.
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.