Ruffle is an open-source emulator for Adobe Flash Player, written primarily in Rust, and targeted at both desktop applications and web browsers via WebAssembly. Its goal is to enable legacy Flash content—animations, games, interactive media—to continue running safely and reliably after official Flash support was discontinued. On the web side, Ruffle is embedded into pages or installed as a browser extension; in the desktop version, it can open .swf files directly or embed them in applications. Because it’s built with memory safety in mind, Ruffle helps avoid many of the security vulnerabilities that plagued classic Flash (buffer overflows, use-after-free, etc.). It strives to support multiple versions of ActionScript (1, 2 and parts of 3) and a wide swath of the Flash API so as much content as possible works unchanged.
Features
- Emulates ActionScript 1.0 & 2.0 content fully, with improving support for ActionScript 3.0
- Runs in browser via WebAssembly, allowing embedding in websites or use as extension
- Desktop client to open SWF files locally
- Browser extensions for Firefox, Chrome / Chromium etc to enable Flash content on web pages
- Strong safety: written in Rust, avoids many of Flash’s memory safety issues (use-after-free, buffer overflows)
- Actively maintained with increasing coverage of the Flash API (language / API support metrics)