XCF to PNG

Convert GIMP XCF project files to PNG images online for free. Lossless quality with transparency support.

Initializing... drag & drop files here

Supports: XCF

OptionsAdvanced Options - Our defaults are optimized for the best results. We recommend you keeping the defaults unless you have a specific need.
Image Compression
Quality preset
Higher quality settings preserve more detail but result in larger files. Lower settings reduce file size by increasing compression.
Image resolution
Colors
Compression level
Compression level
Compression speed
Compression speed

How to Convert XCF to PNG Online

  1. Upload Your XCF File: Drag and drop, or click "+ Add Files," to load your GIMP project. Only a plain .xcf is accepted — if GIMP saved yours as .xcf.gz or .xcf.bz2, decompress it first (gunzip file.xcf.gz) or re-save it as plain .xcf from GIMP. Flatten multi-layer projects in GIMP first (Image → Flatten Image, then re-save the .xcf) — a single layer is what gets written, not the merged canvas. Batch is supported — queue several designs at once.
  2. Pick Quality Preset: Default is "Very High" — recommended for logos, UI mockups, and screenshots where banding or compression artifacts are unacceptable. Drop to "High" or "Medium" if you want smaller files at near-identical visible quality. For pixel-exact output, leave the Compression level slider at 6 (DEFLATE default) or push it higher (1-9) to trade encoding time for smaller files.
  3. Set Resolution and Target File Size (Optional): Under "Image resolution," keep original, scale by percentage, type a custom Width × Height (aspect ratio locked), or pick a preset (1080P, 1440P, 2160P). Under "Image Compression," set a Specific file size in KB/MB if you need to hit an exact upload cap, or use Color Reduction + Dither to shrink palette-friendly art.
  4. Convert and Download: Click "Convert." Files are uploaded over an encrypted connection, processed on our servers, and deleted automatically after a few hours — no sign-up, no watermark, never shared.

Why Convert XCF to PNG?

XCF (eXperimental Computing Facility) is GIMP's native project format. It preserves every layer, layer mask, channel, path, guide, and selection so you can resume editing later — but nothing outside GIMP can open it. PNG (ISO/IEC 15948) is the universal lossless raster format: every browser, OS, image viewer, and chat app supports it, and it carries a full alpha channel for true transparency. Exporting XCF to PNG turns the editable project into a single shareable image with pixel-perfect quality — flatten the project in GIMP before uploading and the PNG matches your canvas exactly.

  • Web and product UI assets — Logos, icons, hero banners, and marketing graphics need an alpha channel and lossless quality. PNG ships in every browser since Internet Explorer 7 and is the default for Figma/Sketch/Photoshop exports too.
  • Chat and documentation screenshots — Slack, Discord, Notion, Confluence, GitHub Issues, and email clients all preview PNG inline. XCF will appear as an unrecognized attachment in every one of them.
  • Print-ready proofs at exact pixel sizes — When a client asks for "the logo at 600 px on a transparent background," PNG is the format that delivers it without dithering or recompression. GIMP's XCF preserves the source layers; PNG delivers the proof.
  • Game art, sprite sheets, and emoji — Pixel art and indexed-color illustrations stay sharp in PNG because there's no JPEG-style chroma subsampling. Discord custom emoji must be PNG/GIF/JPG (under 256 KB), and most engines ingest PNG natively.
  • Archiving final renders alongside the editable source — Keep the.xcf for re-edits; ship the.png for everywhere else. PNG is on the Library of Congress sustainability list, so it's a safe long-term archival format too.

XCF vs PNG — Format Comparison

Property XCF (GIMP project) PNG (ISO/IEC 15948)
Maintainer GIMP project (GNOME) W3C / ISO
Layers, masks, paths Preserved One raster layer only — flatten in GIMP before converting
Bit depth Up to 32-bit float per channel (since GIMP 2.10) 1, 2, 4, 8, or 16 bits per channel
Color modes RGB, grayscale, indexed RGB, grayscale, indexed (no CMYK)
Transparency Full alpha + layer masks Full 8-bit or 16-bit alpha channel
Compression RLE; optional gzip/bzip2/zlib wrapper DEFLATE (LZ77 + Huffman), lossless
Web/browser support None Universal (all major browsers since IE 7)
Typical use In-progress edits, source of truth Final delivery, web, screenshots, UI
File size (same image) Larger (carries every layer) Smaller (single flattened raster)

Compression Level vs Speed Quick Guide

Compression level is the DEFLATE effort setting — higher numbers spend more CPU finding tighter encoding for the same pixel data. PNG output is always lossless regardless of level; only file size and encode time change.

Compression level Encode time File size vs default When to use
1-3 (low) Fastest ~5-15% larger Real-time exports, throwaway proofs
6 (default) Moderate Baseline General use — covers most cases
7-9 (high) Slowest ~3-8% smaller Final delivery, archival, bandwidth-sensitive assets

For aggressive size reduction beyond DEFLATE, run the PNG through a dedicated optimizer (zopflipng, oxipng) or switch to PNG to WebP — WebP lossless is typically 20-30% smaller than PNG at the same fidelity per Google's own benchmarks.

Frequently Asked Questions

Will my GIMP layers be preserved in the PNG?

No, and unlike GIMP's own File → Export As → PNG the converter does not merge the stack for you. PNG is a single-raster format with no concept of layers, and a multi-layer XCF arrives as a multi-page image from which one layer is written. In our testing with a three-layer GIMP project, the PNG carried only the bottom layer; everywhere the upper two would have painted, the output was fully transparent. The fix takes one menu item: in GIMP choose Image → Flatten Image, re-save the .xcf, and upload that — the PNG then matches your canvas pixel for pixel. A project that is already one layer converts correctly as-is. Keep the layered original if you need to edit later; the PNG is the delivery copy.

Is transparency preserved correctly?

Yes, with one condition: flatten the project first. For a single-layer XCF with an alpha channel (transparent background or partially transparent areas), the exported PNG carries a matching 8-bit alpha channel, and soft edges, drop shadows, and anti-aliased outlines look identical to GIMP's preview; if that layer has no alpha, the PNG is opaque RGB. Upload an unflattened multi-layer project instead and you get unexpected transparency — not because alpha was mishandled, but because only one layer of the stack was written and the rest of the canvas has nothing in it.

Why is my exported PNG so much larger than I expected?

Three common reasons. (1) Your image is high-resolution — a flattened 4K design with many colors compresses less than a small icon. Scale via "Resolution Percentage" before export. (2) Photographic content compresses poorly with DEFLATE; if the source is a photo, XCF to JPG at 85-90% quality is typically 5-10× smaller. (3) Default compression level is 6 — try level 9 for a small additional reduction, or run the result through oxipng/zopflipng.

Should I export to PNG-8 or PNG-24?

Pick by content type. PNG-8 (indexed, up to 256 colors) is ideal for logos, icons, flat illustrations, and pixel art — it's much smaller and supports binary transparency. PNG-24 (truecolor, 16.7M colors) is required for photos, gradients, soft shadows, and anything with smooth tonal transitions. Use the Color Reduction + Dither option in Advanced Options to drop into indexed mode.

Does GIMP 2.10's high bit depth (16-bit, 32-bit float) carry over?

Partially. PNG supports 8-bit and 16-bit per channel, so 16-bit XCFs export to 16-bit PNG cleanly. 32-bit float XCFs are reduced to 16-bit integer during export — a plain quantisation, not a tone-map, so values above white clip — still extremely high quality but not bit-for-bit identical to the float source. For HDR workflows, export to a HDR-capable format like OpenEXR before flattening.

What's the difference between this and saving from GIMP directly?

For a single-layer XCF, functionally identical output with no GIMP install required — GIMP's File → Export As → PNG runs the same DEFLATE encoder, and this tool runs the conversion on our servers so you can ship a PNG without launching a 250 MB desktop app. The one thing GIMP does that this converter does not is composite a layer stack, so a layered project needs its flatten step in GIMP first. Useful when you're on a Chromebook, a borrowed machine, or just want to skip the install.

Can I convert.xcf.gz or.xcf.bz2 (compressed XCF) too?

Yes. GIMP transparently saves XCFs with.gz or.bz2 extensions to shrink large project files (often 10× smaller per GIMP's documentation). The converter unwraps the outer compression before decoding, so you can upload the compressed file directly without unzipping it first (the flatten-first advice still applies to what's inside).

Should I convert to PNG, JPG, WebP, or TIFF?

Depends on the use case. PNG for transparency, UI assets, and lossless web delivery. XCF to JPG for photos and email attachments where 5-10× smaller files matter more than perfect fidelity. XCF to WebP for modern web (smaller than PNG, supports alpha, supported in Chrome/Firefox/Safari 16+/Edge, ~96% global). XCF to TIFF for print workflows that need lossless storage with embedded color profiles. PNG is the safest universal default.

Are my files private?

Yes. Files process on our servers only and are not shared. Keep the original.xcf locally as your editable source — only the flat PNG is the shareable artifact.

Rate XCF to PNG Tool

Rating: 4.8 / 5 - 77 reviews