XCF to SWF

Convert GIMP XCF project files to SWF video online for free. Legacy Flash format.

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.
Show All Options
Merge strategy
Select Merge images to combine all uploaded files into a single video. Use Video per image to create a separate video for each individual file.
Image Duration
Duration
This is amount to time a single image is displayed on the output video. Only applied to images that are not GIF.
Background Color
Background Color
File Compression
Preset
Video resolution

How to Convert XCF to SWF Online

  1. Upload Your XCF Files: Drag and drop or click "Add Files" to select one or more GIMP project files. Each XCF is flattened on import — visible layers composite down to a single frame, so the merge happens server-side and your local GIMP install isn't needed. Batch is supported: drop a folder of XCFs to assemble them in upload order.
  2. Pick a Merge Strategy and Image Duration: Choose "Merge images" to combine every uploaded XCF into one SWF slideshow, or "Video per image" to produce a separate SWF per file. Set Duration (1/60 second up to 10 seconds) to control how long each frame holds — 3-5 seconds reads as a slideshow, 1/24 second produces a cinematic frame sequence. Pick a Background Color (24 named options including Black, White, Navy, Crimson) for letterbox padding when your XCF aspect ratio doesn't match the output.
  3. Adjust Video Resolution and File Compression (Optional): Under Video resolution, keep original or pick a fixed preset (240P → 4320P, plus social presets like 1080×1920 vertical, 1080×1080 square, 1920×1080 landscape) or enter a custom width and height. Under File Compression choose Quality Preset ("Very High" recommended down to "Lowest"), or set Constant Quality (CRF), Target file size (%), Specific file size (MB), Constant Bitrate, Variable Bitrate, or Constraint Quality.
  4. Convert and Download: Click Convert. Files process on our servers — no GIMP install, no Flash Authoring license, no sign-up, no watermark. Single SWF download for merge mode, or one SWF per source file for "Video per image" mode.

Why Convert XCF to SWF?

XCF (eXperimental Computing Facility) is GIMP's native project format, first released December 1997 and the default save format since GIMP 2.8 in 2012. It preserves every layer, channel, path, guide, and selection — perfect for editing, useless for distribution because almost no consumer software opens an XCF. SWF (Small Web Format) is Adobe's Flash container; Adobe ended Flash Player support on December 31, 2020, but SWF lives on through Ruffle, the open-source emulator written in Rust that now plays ~99% of ActionScript 1/2 content and ~90% of ActionScript 3 content as of 2026. Converting XCF → SWF wraps GIMP artwork in a self-contained Flash file for the legacy and archival contexts where SWF is still the required deliverable:

  • Submitting to Flash-only animation archives — Newgrounds, the Internet Archive's Flash Library, and Flashpoint (BlueMaxima's preservation project, ~150,000 SWFs catalogued) accept SWF uploads for portfolio and historical submissions. Ruffle is bundled into Newgrounds and the Internet Archive viewer, so an exported SWF plays in-page without a Flash Player install.
  • Driving legacy LMS, e-learning, and kiosk systems — A long tail of corporate training (SCORM 1.2 packages built before 2018), museum kiosks, in-store digital signage controllers, and embedded industrial HMIs still expect SWF input because the original authoring tool emitted Flash. Replacing the asset with an updated SWF avoids re-engineering the player chain.
  • Re-skinning or updating archived Flash games and visual novels — Indie game preservationists swap stage backgrounds, character art, or splash screens by recompiling assets into a fresh SWF. An XCF master with named layers exports cleanly as a flattened SWF frame for drop-in replacement.
  • Producing emulator-ready demo reels for retro web art — Net.art and early-2000s web design portfolios rendered in Flash still want new pieces in matching format. A 4-second-per-image SWF of GIMP-produced concept art plays in a Ruffle-embedded portfolio page alongside the original Flash work without a codec mismatch.
  • Compatibility with Flash-aware desktop tooling — Adobe Animate (the renamed Flash Professional, current version Animate 2024) imports SWF as timeline content, JPEXS Free Flash Decompiler edits SWF assets directly, and SWFTools (swfcombine, png2swf) chains SWFs together. An XCF converted to SWF drops straight into those workflows.
  • Self-contained vector-style banners where size matters less than container compatibility — A flattened SWF of a GIMP banner is a single file with no external dependencies, easier to ship to a partner's CMS than a folder of PNGs plus an HTML wrapper when their pipeline still defaults to .swf.

For modern web, social, and signage delivery instead use XCF to MP4, XCF to WebM, or XCF to GIF — SWF is appropriate only when the receiving system specifically requires Flash.

XCF vs SWF — Format Comparison

Property XCF SWF
Full name eXperimental Computing Facility Small Web Format (orig. ShockWave Flash)
Media type Layered raster project file Multimedia / animation container
First released December 1997 (GIMP) 1996 (FutureWave / Macromedia / Adobe)
Native software GIMP Adobe Flash Player (EOL Dec 31, 2020)
Stores layers / paths / guides Yes — full editability preserved No — flattened on encode
Vector support No (raster only) Yes (SWF's original strength)
Animation None (no time dimension) Yes (timeline + ActionScript)
Audio No Yes (MP3, ADPCM, Nellymoser)
Browser playback in 2026 None Via Ruffle extension (Chrome, Firefox, Edge) or self-hosted Ruffle.js
Typical file size 5-50 MB per layered project 100 KB - 5 MB per slideshow
Modern recommended? Yes — for editing in GIMP No — use MP4/WebM unless legacy required

Compression and Quality Settings Quick Guide

Setting What it controls When to pick it
Quality Preset — Very High (recommended) Encoder targets visually lossless output First choice for archival masters and Newgrounds uploads
Quality Preset — Medium Balanced visual quality / file size Web embeds where bandwidth matters but visuals lead
Quality Preset — Lowest Aggressive compression Quick proof-of-concept, internal review SWFs
Target file size (%) Encoder hits a percentage of the source size Matching an existing SWF's footprint in a swap-out
Specific file size (MB) Hard size cap LMS uploaders or CDNs that enforce a per-asset ceiling
Constant Bitrate (CBR) Fixed bitrate every second Legacy streaming servers that expect predictable rate
Variable Bitrate (VBR) Bitrate flexes with scene complexity Default for archive-quality storage
Constant Quality (CRF) Encoder holds a quality level, size varies When visual quality must not drop, size is secondary
Constraint Quality CRF capped by a maximum bitrate ceiling Mixing quality target with a bandwidth limit

Frequently Asked Questions

Is SWF still supported in 2026?

Adobe officially ended Flash Player support on December 31, 2020, and Chrome, Firefox, Edge, and Safari removed the NPAPI Flash plugin shortly after. SWF playback in 2026 runs through Ruffle, an open-source emulator written in Rust. As of 2026, Ruffle implements 99% of ActionScript 1/2 (81% of the API) and 90% of ActionScript 3 (77% of the API), with browser extensions for Firefox and Chromium-based browsers and desktop builds for Windows 7+, macOS 10.13+, and Linux. SWFs converted from XCFs (no scripting, just flattened images) sit firmly inside the AS1/2-class content Ruffle handles best.

Are GIMP layers preserved in the SWF?

No — XCF layers are flattened on import. Each XCF becomes one rendered frame composed of all visible layers merged top-to-bottom with their layer modes and opacities applied; hidden layers are skipped. If you want each layer as its own SWF frame, export your layers separately from GIMP first (File → Export As… one PNG per layer), then assemble them with PNG to MP4 and convert downstream — or use SWFTools' png2swf locally for direct PNG-to-SWF stacking.

Why does my SWF look raster-y instead of crisp vector?

XCF is a raster format — pixels, not paths — so the SWF that comes out wraps bitmap frames inside the Flash container, not native Flash vector shapes. SWF's original strength was vector animation, but converting from a raster source can't invent paths. For true vector SWFs draw directly in Adobe Animate, Synfig Studio, or export GIMP paths to SVG and use SWFTools' swfc to compile.

Will the converted SWF play in Newgrounds, Flashpoint, and Internet Archive?

Yes. Newgrounds runs Ruffle in-browser for all SWF submissions, the Internet Archive's emulator viewer wraps SWFs in Ruffle automatically, and BlueMaxima's Flashpoint (an offline preservation collection of ~150,000 Flash works) plays SWFs through both Ruffle and a packaged copy of the original Flash projector. A flattened-image SWF from this converter falls inside the AS1/2-class content all three platforms support best.

Should I pick SWF or MP4 for sharing GIMP artwork?

MP4 in nearly every case. MP4 (H.264) plays natively in every browser, every iPhone and Android, every smart TV, and on every social platform — see XCF to MP4. SWF only makes sense when the receiving system explicitly requires Flash: a Newgrounds submission, a legacy LMS that imports .swf, a museum kiosk built around a Flash player, or asset replacement in an archived Flash game. For everything else MP4 is smaller, more compatible, and isn't dependent on a third-party emulator for playback.

How long will the SWF be if I upload N XCFs?

Output duration = number of XCFs × Image Duration. 30 XCFs at 4 seconds each = 120 seconds (2 minutes). 60 XCFs at 1/24 second = 2.5 seconds of cinematic playback. Reorder files in the upload list before clicking Convert — the Duration applies uniformly to every uploaded XCF.

What happens if my XCFs are different dimensions?

Each flattened XCF is scaled to fit inside the chosen output resolution while preserving its source aspect ratio. Empty area is padded with the Background Color you picked (letterbox bars top/bottom for tall sources in a wide frame, pillarbox bars left/right for wide sources in a tall frame). For consistent results, normalize XCFs to a common canvas size in GIMP (Image → Canvas Size) before uploading.

Can I add audio or ActionScript to the SWF?

No — this converter writes a silent, script-free SWF: just the flattened frames inside a Flash container. SWF supports audio (MP3, ADPCM, Nellymoser) and scripting (AS1/2/3), but adding either requires an authoring tool. Open the converted SWF in Adobe Animate (formerly Flash Professional) or JPEXS Free Flash Decompiler to attach a soundtrack or script timeline events.

Why doesn't GIMP export to SWF directly?

GIMP has never shipped a native SWF exporter — the Save format is XCF and the Export As dialog (introduced in GIMP 2.8, October 2012) targets raster formats like PNG, JPG, GIF, TIFF, and WebP. The historical workflow was: export each XCF as PNG, then run png2swf from SWFTools on the command line. This converter collapses that two-step pipeline into one upload — pick a duration, pick a quality preset, click Convert.

Can I convert XCF to other formats besides SWF?

Yes — common XCF outputs on xconvert include XCF to JPG (flat photo), XCF to PNG (lossless with transparency), XCF to GIF (animated loop), XCF to PDF (multi-page document), XCF to MP4 (universal video), XCF to MOV (Apple-friendly video), and XCF to WebM (modern web video). To go the other direction and pull frames out of an existing SWF, see SWF to MP4 or SWF to GIF.

Rate XCF to SWF Tool

Rating: 4.8 / 5 - 86 reviews