Initializing... drag & drop files here
Supports: XCF
.xcf project, or click "Add Files" to browse. Batch is supported — queue several XCFs and process them together.XCF is GIMP's native binary format, first released in December 1997 and still the only file type that fully preserves a GIMP project's layers, channels, masks, paths, and selections. SVG is a W3C-standard XML markup that describes graphics as math (paths, shapes, fills) instead of pixels, so it scales infinitely without blurring. Converting XCF to SVG either traces the rasterised image into vector paths or embeds the rendered raster inside an SVG wrapper — which one depends on the source content.
Tracing works best on flat, high-contrast art. Photographs, soft gradients, and painterly brushwork won't trace cleanly — for those, exporting as raster (XCF to PNG or XCF to JPG) or embedding the rendered pixels inside an SVG wrapper preserves more of the original look.
| Property | XCF | SVG |
|---|---|---|
| Type | Raster (pixel grid) | Vector (XML math paths) |
| Standard | GIMP-native, no public spec frozen | W3C Recommendation (1999, 2nd Ed. 2011) |
| Layers | Full layer stack, masks, channels | Single flattened tree (groups, no masks beyond clipPath) |
| Scalability | Pixelates beyond native resolution | Infinitely scalable |
| File size (typical 1080p logo) | 1-5 MB uncompressed-equivalent | 5-30 KB after tracing |
| Browser support | None (GIMP only) | All modern browsers (Chrome, Firefox, Edge, Safari) |
| Animation | None | CSS, SMIL, JavaScript, Lottie wrappers |
| Best for | Photo editing, layered painting | Logos, icons, illustrations, UI assets |
| Year introduced | December 1997 (UC Berkeley GIMP 0.x) | September 2001 (SVG 1.0) |
| Precision | Result | Use when |
|---|---|---|
| 1-3 | Heavily simplified, low file size | Tiny favicons, very simple icons |
| 4-6 | Balanced — recommended default | Logos, icons, most UI assets |
| 7-8 | Tight curves preserved | Detailed line art, complex paths |
| 9-10 | Maximum fidelity, larger file | Reference traces you'll edit afterwards in Inkscape |
GIMP is fundamentally a raster editor — its native SVG export only writes out paths created with the Paths tool, never the pixel content of layers. The official GIMP docs cover importing SVG and saving paths as SVG, but raster pixels in your XCF are silently dropped on export. That's why a dedicated XCF→SVG converter has to either trace the rendered raster into vectors or wrap it as an embedded image inside the SVG.
No. SVG has no concept of GIMP's layer stack with channels and masks, so the image is flattened to a single rendered raster before tracing. Paths drawn with GIMP's Paths tool are not currently re-extracted as native SVG paths by online converters — they're traced from the visible pixels along with everything else. Keep your .xcf for editing; treat the SVG as a one-way export.
XConvert traces the flattened raster into actual <path> elements using a Potrace-style algorithm, controlled by the Number precision slider. The output is editable as vector paths in Inkscape, Illustrator, or Figma. If your source is a complex photograph the trace may produce hundreds of micro-paths and will look blocky — that's a sign the image isn't a good candidate for vectorisation, not a tool failure.
It controls how many decimal places SVG path coordinates keep. Precision 3 might output M 12.3 45.7, while precision 8 outputs M 12.34567890 45.67890123. More decimals make tighter curves match the source pixel-perfectly but inflate the XML file size. The default of 6 keeps sub-pixel accuracy at typical screen resolutions while staying compact.
Tracing detects edges between colour regions and fits Bezier curves along them. A photo has thousands of overlapping soft-edged regions, so the tracer either flattens it into posterised colour blobs or generates so many tiny paths that the SVG becomes larger than the original PNG. For photographic content, export the XCF as PNG or JPG first, then optimise — vectorisation is meant for flat artwork.
In GIMP: flatten the image, increase contrast so edges are crisp, remove anti-aliasing if possible (Filters → Generic → Threshold for hard edges), and reduce the colour palette. Then upload the cleaned XCF here at precision 5-6. The cleaner your raster, the fewer stray paths the tracer generates. For final polish, open the SVG in Inkscape and use Path → Simplify to remove leftover noise.
The traced output uses separate <path> elements for each colour region, so you can already select and edit them individually in any vector editor. For more granular control — separating an icon's outline from its fill, for example — open the SVG in Inkscape after conversion: Path → Break Apart splits compound paths, and the Node tool lets you reshape curves. This is standard practice for any auto-traced SVG, regardless of source converter.
If scalability isn't required, XCF to PNG gives you a lossless raster, XCF to JPG gives you a smaller lossy raster, and XCF to PDF wraps the rendered image in a portable document. For starting from another raster format instead of XCF, see the general Image to SVG page. To reduce an existing SVG further, Compress SVG strips metadata and rounds coordinates.
No. XConvert renders XCF directly in your browser — no GIMP, no Inkscape, no command-line tools. The trace runs against the rendered raster on our infrastructure and the SVG comes back as a download.