Reading a .xcf file

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.