PhotoCraft file formats: what it opens and saves
Which files PhotoCraft opens and saves: PSD/PSB, Affinity, Paint.NET, OpenRaster, SVG, HEIC, camera RAW, TIFF, WebP, EXR and more, with bit depths and limits.
PhotoCraft opens and saves layered Photoshop files (PSD and PSB), layered TIFF, OpenRaster (.ora) and its own .pcraft format. It opens Affinity, Paint.NET, SVG, HEIC and camera RAW files but can't save back to them, and it reads and writes the common flat formats: PNG, JPEG, TIFF, WebP, GIF, BMP, TGA, ICO, QOI, Netpbm, OpenEXR and Radiance HDR. As of v0.7.0 (October 2026) it can't open AVIF, JPEG XL, PDF, Krita .kra or GIMP .xcf files. Everything below applies to the official builds from the download page, and to the web build except where noted.
All formats at a glance
As of v0.7.0:
| Format | Extensions | Open | Save | Layers kept | Bit depths | Notes |
|---|---|---|---|---|---|---|
| PhotoCraft document | .pcraft | Yes | Yes | Everything | 8, 16, 32 | Native and lossless |
| Photoshop | .psd, .psb | Yes | Yes | Yes | 8, 16, 32 (1-bit opens) | PSB is used automatically above 2 GB |
| TIFF | .tif, .tiff | Yes | Yes | Yes, as Photoshop layer data | 8, 16, 32 float | Asks before saving layers |
| Affinity | .af, .afdesign, .afphoto, .afpub | Yes | No | Yes | 8 | Read only; a warning lists what was left out |
| Paint.NET | .pdn | Yes | No | Yes | 8 | PDN3, all 14 blend modes |
| OpenRaster | .ora | Yes | Yes | Pixel layers and groups | 8, 16 | For Krita, MyPaint and GIMP |
| SVG | .svg, .svgz | Yes | No | Shape layers | 8 | Or place as a vector Smart Object |
| Camera RAW | .dng, .cr2, .nef, .nrw, .arw, .rw2, .pef, .orf, .raf and others | Yes | No | n/a | Opens as 16 | Opens in the Camera Raw window first |
| HEIC / HEIF | .heic, .heif, .hif | Yes | No | n/a | 8, 16 | iPhone and Mac photos |
| PNG | .png | Yes | Yes | Flat | 8, 16 | Animated PNG: first frame only |
| JPEG | .jpg, .jpeg, .jpe, .jfif | Yes | Yes | Flat | 8 | Gray, RGB and CMYK; no transparency |
| WebP | .webp | Yes | Yes | Flat | 8 | Lossless by default, lossy optional |
| GIF | .gif | Yes | Yes | Flat | 8 | 256 colours, 1-bit transparency, first frame only |
| BMP | .bmp, .dib | Yes | Yes | Flat | 8 | |
| Targa | .tga | Yes | Yes | Flat | 8 | 32-bit alpha opens as an alpha channel |
| ICO | .ico | Yes | Yes | Flat | 8 | Up to 256 × 256 |
| QOI | .qoi | Yes | Yes | Flat | 8 | |
| Netpbm | .pnm, .pbm, .pgm, .ppm, .pam, .pfm | Yes | Yes | Flat | 8, 16, 32 float (PFM) | |
| OpenEXR | .exr | Yes | Yes | Flat; parts can open as layers | 16 and 32 float | Multi-part files, deep data, Cryptomatte |
| Radiance HDR | .hdr | Yes | Yes | Flat | 32 float | |
| AVIF | .avif | No | No | Write support is an optional build feature that official builds leave out | ||
| JPEG XL | .jxl | No | No | Only inside DNG files, on the desktop | ||
.pdf | No | Raster only | File › Export › Artboards to PDF… |
For a format not in the table, the answer is no as of v0.7.0. That includes Krita .kra, GIMP .xcf, Procreate, JPEG 2000, DPX, EPS and Illustrator .ai. From Krita or GIMP, save an OpenRaster or PSD copy and open that.
Photoshop files: PSD, PSB and layered TIFF
PSD is PhotoCraft's main interchange format. It opens and saves layers, groups, pixel and vector masks, adjustment and fill layers, layer styles, type, shapes and smart objects. Documents can be RGB, Grayscale, CMYK or Lab at 8, 16 or 32 bits per channel. Bitmap, Indexed, Duotone and Multichannel files open as well. Anything PhotoCraft doesn't model yet, such as unknown blocks and descriptors, is carried over and written back instead of being dropped.
How faithful is a round trip? According to the project README, opening and re-saving a file renders the same for 307 of the 309 files in the psd-tools test set, and for 169 of 170 files in a mixed ag-psd/psd-tools set. A re-saved PSD is not byte-identical to the original, because PhotoCraft rewrites the image resources, layer records and composite. PhotoCraft is early alpha, so keep the original of any PSD that matters until you've checked the result in the app you'll use next.
- PSB. PhotoCraft switches to PSB on its own when a document passes 2 GB. On Windows, PSB files over 4 GB currently fail to open (#375, open).
- Layered TIFF. A TIFF that Photoshop saved with layers opens with them, in either byte order, and saves them back the same way. While Ask before saving layered TIFF is on in Edit › Preferences › File Handling…, Save As asks whether to include layers. Choose Discard Layers and Save a Copy for a flat TIFF. A TIFF stores only one transparency channel, so extra alpha channels aren't written, and Lab documents save flat.
Other editors' files
Affinity (.af, .afdesign, .afphoto, .afpub)
Since v0.6.0, PhotoCraft opens native Affinity documents without Affinity installed: .af files from Affinity 3, and .afdesign, .afphoto and .afpub files from Affinity 1 and 2. Pages and artboards become artboards, layers and groups become groups, curves and shapes become editable shape layers with their fills, gradients and strokes, and text becomes type layers drawn with the fonts installed on your computer. Placed JPEG and PNG images become embedded smart objects, and pixel layers, masks, opacity, blend modes, locks and names come across.
Limits as of v0.7.0:
- The document opens as 8-bit RGB. CMYK and Lab colours are converted to RGB without the document's profile.
- Layer effects, adjustment layers, live filters, master pages and a few other features aren't reproduced. Brush strokes come in as plain strokes. The warning that appears when the file opens lists each of these, so nothing goes missing silently. The remaining gaps are tracked in #1606.
- PhotoCraft can't save Affinity files. Save asks for a new file (
.pcraft, PSD, PNG and so on) and never writes over the Affinity original. - If the native data can't be read, for example in a damaged file, PhotoCraft opens the small preview image Affinity stores in the file, as one layer named "Affinity preview", and the warning says why. In that case, export a PSD or PNG from Affinity.
Paint.NET (.pdn)
PhotoCraft opens Paint.NET PDN3 documents natively (since v0.6.0, #1998). Each layer stays an editable pixel layer, with its order, name, visibility and opacity. All 14 Paint.NET blend modes render correctly. Reflect, Glow, Negation and XOR have no Photoshop equivalent, and Color Burn and Color Dodge have separate Paint.NET variants.
PDN is import only. Save opens Save As and suggests .pcraft, which keeps the layers and every blend mode. A PSD can't store the six Paint.NET-only modes, so those layers are switched to Normal on export, with a warning. Paint.NET document metadata, such as print resolution, isn't imported.
OpenRaster (.ora) for Krita, MyPaint and GIMP
New in v0.7.0 (#2257), PhotoCraft opens and saves OpenRaster, the layered format that Krita, MyPaint, GIMP and Pinta share. Pixel layers, nested groups, pass-through groups, names, visibility, opacity, locks and blend modes travel in both directions, at 8 or 16 bits. 32-bit documents are saved with 16-bit layers.
Saving reports what OpenRaster can't hold. Masks and fill opacity are applied to the pixels. Text, shape, fill and smart object layers are saved as rendered pixels. Adjustment layers, layer styles, vector masks, clipping, alpha channels and the colour profile are left out. CMYK and Lab documents must be converted to RGB first. In upstream testing, 30 of 34 Krita 5.2.9 files rendered within 3/255 of Krita's own result, and Krita opened PhotoCraft's re-exports. MyPaint and GIMP files haven't been checked yet.
SVG
An SVG opens as a document of editable shape layers, with groups, fills and strokes (#1305). Text becomes outline shapes. Clip paths, masks, filters, pattern paints and embedded images are rasterised into pixel layers, gradients are approximated, and a warning names each case. Drawings with more than 2,000 elements open as a single pixel layer.
File › Place Embedded… or Place Linked… places an SVG as a vector Smart Object, which is rasterised again at its current scale, so it stays sharp when you enlarge it. PhotoCraft can't save SVG.
Photos: HEIC and camera RAW
HEIC / HEIF
iPhone and Mac photos open in every official build, including the web build. They are read only. Single photos and grid-tiled photos open with their alpha, colour profile and metadata, and 10-bit photos open as 16-bit documents. Image sequences, overlays and some uncommon encodings are refused with an error rather than shown wrong. To keep a HEIC photo after editing, save it as JPEG, PNG, TIFF or PSD. A PhotoCraft built from source without the heif feature recognises HEIC files and says that support isn't included.
Camera RAW and DNG
PhotoCraft has its own RAW decoder. Opening a RAW file with File › Open or drag and drop shows the Camera Raw window first, with Temperature, Tint, Exposure and the other develop controls. Click Open to keep the result, or Cancel to close it (since v0.6.0, #1309, #1361). The result is a 16-bit ProPhoto RGB document. To skip the window, turn off Open in camera raw in Edit › Preferences › Raw Defaults….
| Camera files | Status as of v0.7.0 |
|---|---|
| DNG | Uncompressed, Deflate, lossless JPEG, lossy JPEG (new in v0.7.0, #2021) and JPEG XL (DNG 1.7, for example Samsung Expert RAW). Floating-point DNG isn't supported |
| Canon CR2 | Yes. sRAW and mRAW aren't supported |
| Canon CR3 | Recognised; opens the embedded preview, where the file has one |
| Nikon NEF / NRW | Uncompressed, plus lossless and lossy compressed NEF since v0.6.0 (#1310). "Lossy after split" files open the preview |
| Sony ARW | Uncompressed, lossless and compressed ("cRAW"). Some newer compression variants open the preview |
| Panasonic / Leica RW2 | RawFormat 5 (12 and 14-bit). Older variants open the preview |
| Pentax PEF | Uncompressed and lossless. Compressed PEF opens the preview |
| Olympus ORF | Uncompressed only. Compressed ORF opens the preview |
| Fujifilm RAF | Uncompressed X-Trans and Bayer files (#1872). Compressed RAF opens the preview |
| Others (CRW, 3FR, IIQ, X3F, SRW, MRW, ERF…) | Embedded preview only |
When a variant can't be decoded, PhotoCraft opens the camera's embedded JPEG preview (8-bit) with a warning instead of failing. The decoder has no per-camera colour profiles: files other than DNG use a neutral fallback, so colours look less saturated and flatter than the camera's own JPEG. Converting to DNG first gives calibrated colour. XMP sidecar files aren't read. RAW support is tracked in #50.
Flat image formats
Flat formats hold one image, so saving a layered document to one of them flattens it. PhotoCraft lists what the file will lose (layers, bit depth, transparency, colour profile) when you save or export. Formats without transparency (JPEG, Radiance HDR) are composited over white.
- PNG keeps 8 and 16-bit, transparency, colour profiles, EXIF, XMP, resolution and text.
- JPEG is 8-bit only and also handles CMYK. It has no transparency.
- WebP is written lossless by default. Turn lossless off in Export As (or Export Preferences) for a lossy file with a quality setting. Both kinds open.
- GIF uses a 256-colour palette with 1-bit transparency. Like animated PNG and WebP and multi-page TIFF, only the first frame or page opens, and a warning tells you how many there were.
- Targa (TGA). Since v0.7.0, a 32-bit TGA opens as an opaque Background plus an "Alpha 1" channel holding the alpha, as in Photoshop (#2482), and 24-bit TGAs open without one. On save, a document with exactly one alpha channel writes it as 32-bit alpha (#2157). Without an alpha channel, layer transparency is written as the alpha. With two or more alpha channels, no alpha is written and a warning says so.
- ICO holds images up to 256 × 256. BMP and QOI are 8-bit RGB or RGBA.
- Netpbm picks the subtype from the image: PFM for 32-bit float, PGM for gray, PPM for RGB, and PAM for anything with alpha or CMYK.
HDR formats: OpenEXR and Radiance HDR
OpenEXR keeps half-float and float data. A multi-part file, such as a render with one part per AOV, opens its colour part with a warning about the others. In v0.7.0, File › Open EXR Parts… imports the parts and channel groups you choose as the layers of one document, and can add a summed beauty precomp (#2338). Cryptomatte ID layers from Arnold, V-Ray, Redshift, Karma and Cycles are now recognised and decoded (#2180), but a click-to-select picker isn't there yet. Deep EXR opens flattened, with a warning. EXR is saved only with lossless compression (None, RLE, ZIP or PIZ).
Radiance HDR is 32-bit float RGB. Both formats are saved in linear sRGB, which is also how PhotoCraft interprets them when it opens them.
Bit depth: what stays and what gets reduced
PhotoCraft edits at 8, 16 and 32 bits per channel. On save, each format keeps what it can store and warns when it has to reduce:
| Format | 8-bit | 16-bit | 32-bit float |
|---|---|---|---|
.pcraft, PSD, PSB | Kept | Kept | Kept |
| TIFF | Kept | Kept | Kept |
| PNG, OpenRaster | Kept | Kept | Reduced to 16-bit |
| Netpbm (PGM/PPM/PAM, PFM) | Kept | Kept | Kept as PFM |
| OpenEXR, Radiance HDR | Stored as float, without loss | Stored as float, without loss | Kept |
| JPEG, WebP, GIF, BMP, TGA, ICO, QOI | Kept | Reduced to 8-bit, with a warning | Reduced to 8-bit, with a warning |
When 32-bit float goes into an integer format, values outside 0–1 are clipped, with a warning. CMYK saved to a format that holds only RGB is converted with a simple formula that isn't colour-managed, also with a warning. For proper colour conversion, change the mode yourself with Image › Mode first. Formats that can't embed a colour profile (GIF, BMP, TGA, QOI, ICO, Netpbm) get the image converted to sRGB.
Save, Save As, Export As and Quick Export
| Command | What it does |
|---|---|
| File › Save (Ctrl/Cmd+S) | Writes the document to its file. A document from Affinity or Paint.NET asks for a new file instead. Since v0.7.0, if you add layers to a JPEG or PNG, Save suggests PSD instead of flattening over the original (#2234) |
| File › Save As… (Shift+Ctrl/Cmd+S) | Saves in any writable format, chosen by the extension |
| File › Save a Copy… (Alt+Ctrl/Cmd+S) | Writes a copy. The open document stays tied to its own file |
| File › Export › Export As… | PNG, JPG, WebP, TIFF or TGA, with quality, transparency, scale, a preview and a file-size estimate. Metadata is left out by default |
| File › Export › Quick Export as PNG | Exports in one click. The format (PNG, JPG, GIF or WebP) is set in File › Export › Export Preferences…, and the menu item shows the chosen format |
Save As to a flat format keeps the layered original (new in v0.7.0, #2611). If a document has more than one layer, or already lives in a PSD, PSB, .pcraft, OpenRaster or TIFF file, a Save As to JPEG or PNG now writes a copy. The document keeps its name, its file and its unsaved state, so Ctrl+S keeps saving the layered file, and closing still warns about unsaved changes. A plain flat image that isn't backed by a layered file still becomes the file you saved it as.
One known gap as of v0.7.0: on a document opened from a flat PNG or JPEG, Save opens the save dialog instead of writing over the file straight away (#2223, open).
PhotoCraft's own format: .pcraft
.pcraft is PhotoCraft's native, lossless format, and the only one guaranteed to keep everything the app can do. It is a ZIP bundle of a versioned manifest and compressed, content-addressed tiles. Saves are incremental and atomic, and the desktop app uses it for autosave and crash recovery. Other applications can't open it, so save a PSD as well when you need to hand a file to someone else.
Swatches, brushes, patterns and other assets
As of v0.7.0:
| Asset | Files | Support |
|---|---|---|
| Brushes | .abr | Import and export. File › Open or drag and drop adds them to the brush library and keeps their folders |
| Swatches | .aco, .ase | Import and export from the Swatches panel menu. File › Open works too (#886) |
| Gradients | .grd | Import and export. File › Open adds them to the Gradients panel |
| Patterns | .pat | Import and export through the pattern library, alongside Edit › Define Pattern… and patterns stored in PSDs |
| Colour lookup tables | .cube, .3dl, .look | All three load in Color Lookup. .cube can also be exported (File › Export › Color Lookup Tables…) |
| Keyboard shortcuts | .kys | Import only |
| Actions | Photoshop .atn | Not supported. PhotoCraft's own actions are saved in its preset store, and the CLI's batch command takes a JSON action list |
| Layer styles, contours, custom shapes, tool presets | .asl, .shc, .csh, .tpl | Not supported |
Brush, swatch and gradient files open through File › Open in the web build too.
Converting Affinity, Paint.NET, HEIC or other files to PSD
- Open the file with File › Open (or drag it onto the window).
- Read the warning, if one appears. It lists anything that didn't come across, such as Affinity effects or Paint.NET-only blend modes.
- Choose File › Save As…, pick Photoshop (or type a name ending in
.psd), and save. - Before you delete the original, open the PSD in the app you'll use next and check it.
Some format-specific tips:
- Affinity to PSD: effects, adjustments and live filters aren't imported, so apply them in Affinity first if you need them, or export a PSD from Affinity if you have it.
- PDN to PSD: layers using Reflect, Glow, Negation, XOR or the Paint.NET variants of Color Burn and Color Dodge become Normal in the PSD. Save a
.pcraftcopy too if you'll keep editing in PhotoCraft. - Krita/GIMP to PSD: save an OpenRaster file from Krita or GIMP, open it in PhotoCraft, then save as PSD.
- From the command line:
photocraft-cliconverts by file extension, for examplephotocraft-cli convert drawing.pdn drawing.psd, which is handy in a script that loops over a folder. Add--tiff-layerswhen the output is a TIFF that should keep its layers.
The web build
The online editor and the self-hosted web build read the same formats as the desktop app, with these differences as of v0.7.0:
- HEIC works. The official web build includes the HEIC decoder.
- RAW works, except JPEG XL DNG. Since v0.7.0, the JPEG XL decoder for DNG 1.7 files (such as Samsung Expert RAW) is left out of the browser build to keep it under its size limit (#2233). Those files show an error asking you to use the desktop app. Every other RAW format and DNG compression still opens. RAW decoding runs on a single thread in the browser, so it is slower, and the Camera Raw window is drawn inside the page rather than as a separate window.
- Saving downloads a file. Save, Save As and Export As hand the file to your browser's downloads. There's no autosave or crash recovery, so save often.
- Smaller memory budget. Decoding is limited to 2 GiB in the browser, compared with 8 GiB on the desktop, so very large PSB or TIFF files may not open.
- Text in SVGs uses PhotoCraft's bundled fonts only, because the browser build can't reach your system fonts.
- Multiple files. Since v0.7.0, File › Open opens every file you select (#2807). Batch processing of folders is desktop only.
If a file won't open or a save fails, see Troubleshooting, or get the desktop app.
What's missing, and what's coming
As of v0.7.0, these are open requests upstream: opening AVIF (#463), opening PDF (a pull request is in review, #2751), JPEG 2000 (#1047), and the remaining Affinity gaps (#1606). The project's file-format parity page compares every Photoshop format with PhotoCraft's support. Support is changing quickly, so check the release notes of newer versions.
On this page
- All formats at a glance
- Photoshop files: PSD, PSB and layered TIFF
- Other editors' files
- Photos: HEIC and camera RAW
- Flat image formats
- HDR formats: OpenEXR and Radiance HDR
- Bit depth: what stays and what gets reduced
- Save, Save As, Export As and Quick Export
- PhotoCraft's own format: .pcraft
- Swatches, brushes, patterns and other assets
- Converting Affinity, Paint.NET, HEIC or other files to PSD
- The web build
- What's missing, and what's coming