If you handle GIMP Native Document files long enough you learn them by their first bytes rather than by their extension. The format is The GIMP Team’s. GIMP 2.10 added 32-bit float layers; older GIMP cannot open those files.
| Usual MIME type | image/x-xcf |
| Signature | 67 69 6D 70 20 78 63 66 at offset 0 |
| Extension | .xcf |
| Written by | The GIMP Team |
What the file holds
The ASCII string ‘gimp xcf’ plus a version tag (‘file’ for the modern layout), then layer and channel property lists terminated by zero.
Spotting a renamed file
Read 8 bytes and you know: 67 69 6D 70 20 78 63 66. A mismatch means the .xcf file was renamed, which is the most common thing we see.
What reads this format
Installed options: GIMP 2.10 / 3.0, GIMP 2.10 PSD import (XCF is the native target), xcf2png (CLI). None of them have to be the program that made the file: Universal Viewer reads it and writes nothing back.
Converting .xcf to something usable
The targets people actually ask for are .png, .jpg, .psd, .tif. Each one has its own page with the settings that matter: xcf → png, xcf → jpg, xcf → psd, xcf → tif
Two questions that keep coming back
What opens .xcf if I do not have The?
GIMP 2.10 / 3.0, GIMP 2.10 PSD import (XCF is the native target), xcf2png (CLI). If nothing installed reads it, the viewer above does.
How do I know a .xcf file is real?
Identify it before you open it — 67 69 6D 70 20 78 63 66 at offset 0. That single look answers most of the questions we get about .xcf.
Can I convert .xcf without the original program?
For the targets listed above, yes. The container survives; what is lost is whatever the target format cannot hold.
Notes from the file library
Files of this kind are catalogued with the family named in the table above. The family groups them by what a file carries, not by the application that wrote it, which is why two extensions from the same application can sit in different families.
Two things decide whether a file can be opened on a machine that never had the application that made it: the header, which says what the container is, and the structure behind it, which says whether the contents can be read at all. The conversion guides listed on the page cover the targets that come up most often.
Format pages are rebuilt with each release of the toolset, and the review line at the bottom of the page is when an editor last checked the entry against a file. If a page disagrees with a file you have, send the first sixteen bytes and the build number to the support address and the entry is corrected in the next build.
Reviewed 2026-10-05 by M. Halvorsen.