SWFRecomp

Static Flash Recompiler

Preserving Flash content forever through static recompilation to WebAssembly

What is SWFRecomp?

SWFRecomp is a static recompiler that translates Flash SWF files into portable C code, which can then be compiled to native executables or WebAssembly for modern web browsers.

Unlike emulators that interpret Flash bytecode at runtime, SWFRecomp performs a one-time translation, enabling Flash content to run natively without the Flash Player plugin.

Static Recompilation

Translates ActionScript bytecode to C code at build time, not runtime

WebAssembly Output

Compile to WASM for native browser execution with near-native performance

Native Builds

Also compiles to native executables

Try It In Your Browser

The entire recompilation pipeline runs in your browser — no server needed. Drop a .swf file and watch it get recompiled to C, compiled to WASM via Clang, and executed, all client-side.

Open In-Browser Recompiler View SWF in Ruffle

Runtime SWF Injection

Experimental demos exploring how runtime APIs can be written in ActionScript and injected into recompiled SWFs at build time.

View Injection Demos
Loading demo catalog...

How It Works

1. SWF Parsing: Reads and decompresses the Flash SWF file

2. Code Generation: Translates ActionScript bytecode to portable C17 code

3. Compilation: Compiles C code to native executables or WebAssembly

4. Execution: Runs in browsers or as standalone applications