Initializing... drag & drop files here
Supports: XCF
XCF is the native layered project format of GIMP — introduced with GIMP 0.99.16 in December 1997 — and stores layers, masks, paths, channels, guides, and selection state. No video player or messaging app reads XCF directly. 3GP is a 3GPP-defined multimedia container (initial release April 2003), structurally based on the ISO base media file format (ISO/IEC 14496-12) and designed for low-bandwidth mobile delivery. Converting XCF to 3GP turns a static GIMP composition into a small, self-contained video clip suited for legacy phones, low-bitrate playback, and constrained-bandwidth distribution.
.3gp extension.| Property | XCF | 3GP |
|---|---|---|
| Type | Layered raster image (GIMP project) | Video/audio container |
| Released | December 1997 (GIMP 0.99.16) | April 2003 (3GPP) |
| Owner / spec | The GIMP Development Team | 3GPP (3rd Generation Partnership Project) |
| Layers / animation | Multi-layer, masks, paths, channels | Single video track + audio |
| Video codecs | n/a | H.263, MPEG-4 Part 2, H.264 (AVC) |
| Audio codecs | n/a | AMR-NB, AMR-WB, AAC-LC, HE-AAC v1/v2 |
| Typical resolution | Whatever you authored at | 176×144 (QCIF), 320×240, 352×288 (CIF) |
| MIME type | application/x-gimp-image | video/3gpp |
| Plays in browser | No (GIMP-only) | Limited; Chrome/Firefox on desktop typically need a fallback |
| Target | Resolution | Compression Mode | Image Duration |
|---|---|---|---|
| MMS thumbnail | 176×144 (QCIF) | Quality Preset: Low | 3 seconds per frame |
| Feature phone playback | 320×240 | Quality Preset: Medium | 5 seconds per frame |
| Older smartphone preview | 352×288 (CIF) | Constant Quality (CRF 28) | 5 seconds per frame |
| Smallest possible file | 128×96 (SQCIF) | Specific file size: 100 KB | 2 seconds per frame |
They are dropped, and not merged first — this is the one thing to know before converting. A .xcf with several layers reaches the converter as a multi-page image and a single layer is written as the video frame, rather than the composite GIMP shows on canvas. Everything the other layers painted is missing, and the regions they covered come through transparent — which, since 3GP video has no alpha channel, means they fall back to the Background Color (White by default). The fix is one menu item: in GIMP choose Image → Flatten Image, re-save the .xcf, and upload that; the frame then matches your canvas exactly. A project that is already a single layer converts correctly as-is. If you want each layer as its own video frame, export them separately from GIMP (File → Export As → PNG sequence) and upload that sequence with "Merge images" selected.
For MMS to feature phones, 176×144 (QCIF) is the historically safest target. 320×240 plays on most early-2000s smartphones and still fits the 3GP profile. 352×288 (CIF) is the upper end of what classic 3GP decoders accept; some handsets reject it. If you're uncertain about the target device, 320×240 is the best middle ground.
MMS gateways enforce per-message size caps (often 300 KB to 1.5 MB depending on the carrier and plan) and per-file duration caps. Use the "Specific file size" compression mode and set a target under your carrier's published MMS limit, drop image duration to 2-3 seconds, and choose 176×144 resolution. Some carriers also strip or repack 3GP that uses MPEG-4 Part 2; sticking to H.263 video + AMR-NB audio profiles is the most compatible.
3GP only if you need playback on legacy hardware, an MMS-style messaging path, or an explicit 3GPP-compliant deliverable. For modern phones, browsers, social media, and any device built after roughly 2015, XCF to MP4 gives a far better quality-per-byte ratio thanks to H.264/H.265. iOS 9 and later removed automatic 3GP playback from Safari, so 3GP is genuinely a legacy target now.
The XCF-to-3GP path produces a video-only output by default — there's no audio source in a GIMP project. If you need a soundtrack, convert to MP4 first and use a separate tool to add audio, or convert your finished 3GP using 3GP to MP4 and remux audio there. 3GP supports AMR-NB and AAC-LC for audio when an audio source is provided.
Constant Bitrate (CBR) holds the data rate steady — predictable file size, but quality fluctuates on complex frames. Variable Bitrate (VBR) lets the encoder spend more bits on detailed frames and fewer on simple ones, giving better quality at the same average size. Constant Quality (CRF) targets a perceived quality level (lower CRF = higher quality, higher file size); CRF 23 is a common default, CRF 28 trims size noticeably. For 3GP delivered to feature phones, CBR around 64-128 kbps is the most predictable.
3GP video has no alpha channel, so transparent regions of your XCF are filled with the "Background Color" you select (White by default). If your design relies on transparency over a specific backdrop, set the Background Color to match that backdrop before converting, or flatten the XCF in GIMP onto your intended background and re-upload.
GIMP can save XCF as .xcf, .xcf.gz, or .xcf.bz2 (gzip- or bzip2-compressed XCFs). The accepted extension here is .xcf only — if you have .xcf.gz, decompress it locally first (gunzip file.xcf.gz) or open it in GIMP and re-save as plain .xcf. The flattened raster output is identical either way.
xconvert processes files on our servers, so the practical limit is upload size and connection speed. XCF files with many layers at high resolution (4K+ multi-layer compositions) take longer to upload and decode than typical photo-sized projects. If conversion stalls on a very large XCF, flatten it in GIMP first (Image → Flatten Image, then re-save), which usually shrinks the file substantially.