Initializing... drag & drop files here
Supports: SWF
SWF (originally "ShockWave Flash," rebranded to "Small Web Format") was the dominant interactive web animation format from FutureSplash Animator's 1996 release through Adobe's official Flash Player end-of-life on December 31, 2020. On January 12, 2021, Adobe pushed an update that blocks all Flash content from running in the official Flash Player. Every major browser — Chrome, Firefox, Edge, Safari — removed Flash support around the same time. The only ways to view SWF content today are emulators like Ruffle or converting to a modern format. MP4 (ISO/IEC 14496-14, standardized in 2003) plays on every device, every browser, every editor, with zero plugin requirements. Common reasons to convert:
<embed src="intro.swf">, swap in <video src="intro.mp4"> so visitors on iPhones, modern Chrome, and corporate-locked browsers actually see the content.| Property | SWF | MP4 |
|---|---|---|
| Standard | Adobe Flash (spec opened May 2008 under Open Screen Project) | ISO/IEC 14496-14:2003 |
| Origin | FutureSplash Animator 1996 → Macromedia Flash → Adobe (2005) | MPEG-4 working group, derived from QuickTime |
| Status | EOL Dec 31, 2020; blocked by Flash Player since Jan 12, 2021 | Active, universally supported |
| Content type | Vector animation, ActionScript bytecode, raster, audio, video | Container for H.264/H.265/AV1 video + AAC/MP3 audio |
| Interactivity | Yes — ActionScript 1/2 (AVM1) or 3 (AVM2) | None (passive video) |
| Native playback today | None in any mainstream browser; requires Ruffle emulator or Adobe Flash Player projector (offline only) | Every browser, every modern OS, every smart TV, every editor |
| Typical file size | Small for vector content (KB-range animations) | Larger (raster video) but predictable per minute of playback |
| Best for | Source archive only — keep alongside MP4 export | Sharing, editing, embedding, long-term playback |
| Mode | What it does | Pick when |
|---|---|---|
| Quality Preset | One-click Highest → Lowest preset (default "Very High") | You want a sensible default with no tweaking |
| Specific file size | Auto-tunes bitrate to hit an exact MB target | You're hitting a Discord, email, or upload cap |
| Constant Bitrate (CBR) | Fixed bits per second across the entire video | Predictable sizing, broadcast workflows |
| Variable Bitrate (VBR) | Spends more bits on complex scenes, fewer on simple | Best quality-per-MB; default for most uploads |
| Constant Quality (CRF) | CRF 0-51 — 18 = lossless, 23 = default, 28 = small | You want consistent perceived quality across clips |
| Constraint Quality (capped VBR) | VBR with a ceiling bitrate | Streaming where bandwidth has a hard ceiling |
If your SWF is purely animation (no interactivity), CRF 20-22 produces an MP4 that's visually indistinguishable from the rendered Flash output at a fraction of the file size of "Highest" preset. For richer audio tracks (Flash music videos), bump audio bitrate in Advanced Options. Want a looping animation as a shareable image? Try SWF to GIF. Editing on a Mac? Pull the result into Final Cut by going SWF to MOV. Need just the audio? SWF to MP3 extracts the soundtrack only.
Adobe ended Flash Player support on December 31, 2020, and on January 12, 2021, pushed an update that blocks all SWF content from running in the official player. Chrome, Firefox, Edge, and Safari all removed Flash plugin support around the same time. SWF files on your computer are still intact — they just have nothing to play them in. Options today are: convert to MP4 (best for sharing and long-term viewing), use the open-source Ruffle emulator (best for interactive games and animations you want to keep clickable), or run the offline Flash Player projector if you still have it. Conversion to MP4 is the only path that works on phones, smart TVs, and modern browsers without installing anything.
No. MP4 is a passive video container — it holds frames and audio, not code. If your SWF has clickable menus, branching paths, mini-games, or any ActionScript-driven behavior, the conversion captures a linear playthrough of whatever runs without user input. Interactive SWFs typically render as the opening scene with no progression. For interactive content preservation, use Ruffle — it covers roughly 90% of AS3 language features and ~77% of the AS3 API, with over 99% AS1/AS2 coverage in a modern browser. Use SWF to MP4 for animations and cutscenes; use Ruffle for games.
Three common causes. First, the SWF uses ActionScript-driven rendering (loads assets at runtime, draws via code) instead of timeline animation — converters can't execute the ActionScript and the frames render empty. Second, the SWF stage has a transparent background and the converter defaulted to black; set the Video background color option to white or a solid color before re-converting. Third, the SWF references external assets (loaded SWFs, XML, images from a server that no longer exists) — those won't be embedded in the output. For pure timeline animations the conversion is reliable; for code-driven or asset-dependent SWFs, screen-record a Ruffle playthrough as a fallback.
Most SWFs from the 2000s were authored at stage sizes of 550×400, 640×480, 720×540, or 800×600 — sub-720p by modern standards. Picking 1080p won't add detail (vector graphics scale cleanly, but the original raster assets stay low-res). Match or modestly exceed the stage size: 720p covers nearly every SWF from that era without wasting file size. For HD-authored later-era SWFs (some 2012-2020 Articulate / Adobe Animate exports), pick 1080p. Use Width × Height to lock to the SWF's original aspect ratio if you don't know what it was authored at.
Yes. Embedded audio in SWF (MP3 streams or ADPCM samples for sound effects) is decoded and re-encoded to AAC inside the MP4. Long Flash music videos, voiceovers, and sound-effect-driven animations all retain their audio. If your SWF loads audio externally (loadSound() calls to a server URL) and that server is dead, the audio won't be in the output — only embedded audio survives. Streamed audio in the SWF timeline is preserved with frame-accurate sync.
XConvert handles SWF files of any size — most legacy SWFs are well under 50 MB, often just a few hundred KB for short animations. The output MP4 is typically 5-20× larger than the source SWF (rasterizing vector animation expands the data), but still small in absolute terms. There's no per-file cap and no quantity limit on batch jobs.
Adobe's Flash Player vulnerabilities (CVE backlog through 2020) required the Flash Player runtime to exploit them. Converting a SWF to MP4 server-side via XConvert never executes the ActionScript in a Flash runtime — the SWF is parsed and rendered frame-by-frame to video. You're not exposing your browser or device to any Flash exploits during conversion. The resulting MP4 is plain video with no executable component.
Yes. Upload as many SWF files as you want and apply the same settings to all of them, or set per-file options. Each file converts in parallel withon our servers and downloads individually or as a single ZIP. Handy for archiving a folder of saved Newgrounds animations or migrating an Articulate course's entire SWF output set in one pass.
Yes — under Trim, pick Time Range and enter a start time and duration (seconds like 12.5 or HH:MM:SS.sss like 00:01:30.500). Useful for stripping pre-loader animations, sponsor logos, or "click to play" intros that don't need to be in your archived MP4. For finer cutting after conversion, see Trim SWF for source-side or Compress MP4 to shrink the result further.