What is the XCF file format?
.xcf image files are used by GIMP (GNU Image Manipulation Program). .xcf files store layers, paths, transparency settings, channels, guides, and other elements used in image editing. The format does not offer an option to review image edit history - undo state is session-only and is not saved to disk.
.xcf format compression
.xcf files store graphical data in compressed form using a simple RLE (Run-Length Encoding) compression algorithm. GIMP also supports gzip and bzip2 wrapping: files with .xcf.gz or .xcf.bz2 extensions are recognized by GIMP as native image files. GIMP 2.10 additionally introduced optional zlib-deflate tile compression, selectable at save time.
.xcf format's limited portability
Use of .xcf files as a data-sharing format is discouraged, as some elements of the format's structure are closely related to GIMP's unique functions. For sharing finished work, exporting to PNG or a PSD file is the preferred approach. Because of this, the .xcf graphical format is not widely used outside the GIMP ecosystem, though viewers such as Photopea and XnView MP can open .xcf files.
Backward compatibility and naming
The .xcf format is backward compatible and therefore supports older GIMP files. The name stands for "eXperimental Computing Facility" - the student computing group at UC Berkeley where GIMP was originally developed in the mid-1990s, hence the format's name.
Security & safety
RISK: LOWXCF is passive image data with no scripting or executable content, so opening one is low-risk. Practical cautions only: XCF project files can be large, and some "free XCF viewer/converter" download sites bundle adware - get GIMP from gimp.org (or a trusted repository) rather than ad-driven mirrors. As with any image parser, keep your software updated against occasional decoder bugs.
Format details
in a nutshellPrograms that open XCF files
Technical details
deep spec| MIME type | image/x-xcf |
| Magic bytes | ASCII "gimp xcf " (9 bytes) at offset 0, followed by a version string (e.g. "v001"-"v019") and a null terminator |
| Byte order | Big-endian (network byte order) for all multi-byte integer fields |
| Color modes | RGB, Grayscale, Indexed - one mode per canvas |
| Color depth | 8-bit per channel (legacy); 16-bit integer and 32-bit float per channel supported from GIMP 2.10+ |
| Layer support | Unlimited layers, each with independent opacity, blend mode, and pixel-offset position |
| Layer groups | Nested layer groups supported since XCF version 9, introduced with GIMP 2.8 |
| Transparency | Per-pixel alpha channel on individual layers; composite transparency handled per-layer |
| Vector paths | Bezier curve paths stored as named path objects embedded in the file |
| Auxiliary channels | Named channel objects with per-pixel 8-bit masks stored at the global image level |
| Compression | Internal RLE (Run-Length Encoding) per tile; gzip or bzip2 external wrapping supported via .xcf.gz / .xcf.bz2 |
| Parasite metadata | Key-value "parasite" blobs attachable to the image, individual layers, and channels |
| Embedded color profile | ICC color profile stored via the built-in "icc-profile" parasite |
| Text layers | Non-destructive text layers retain font name, size, and markup for re-editing in GIMP |
| File versioning | Header version tag (e.g. v001 through v019) identifies the XCF sub-version for backward compatibility |
| Released | 1990s (native format of GIMP, the GNU Image Manipulation Program) |
| Open standard | Yes · royalty-free |
| Specification | gitlab.gnome.org |
XCF conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about XCF files.