Ruffle

From Emulation General Wiki
Jump to navigation Jump to search
Ruffle
Ruffle vector logo.svg.png
Developer(s) Mike Welsh
kmeisthax
Nathan Adams
Callum Thomson
relrelb
Repository Contributors
Latest version N/A
Active Yes
Platform(s) Windows
Linux
macOS
HTML5
Emulates Adobe Flash
Website ruffle.rs
Support ($) Open Collective
Programmed in Rust
License MIT and Apache 2.0 (dual-licensed)
Source code GitHub

Ruffle (derived from "RuFl", which is short for "Rust Flash") is an experimental, free and open-source Adobe Flash emulator written in Rust, available under either the Apache 2.0 or MIT licenses. It's available as a desktop player, as a HTML5 web embed using JavaScript/TypeScript and WebAssembly, and as a browser extension which can run the web embed on any site in place of older SWF elements. Even though Ruffle is still a work-in-progress, the HTML5 version in particular has already seen widespread adoption across various sites that depend heavily on Flash content, including such famous examples as Newgrounds and Homestar Runner.

Download

Windows Linux macOS Web Latest automatic builds
Web Web demo

Overview

As of December 2024, Ruffle primarily supports older Flash content while also supporting some AS3 contents, which use ActionScript 1.0 and 2.0 with 95% of the language and 78% of the API implemented. ActionScript 3.0 support is at 90% of the language and 76% of the API. According to Bleeping Computer, it was reported that all the SWF games they tried in February 2021 "worked flawlessly." [1]

Prominent users

Newgrounds

Newgrounds gives the option to use Ruffle for all of its Flash content, but the site staff avoids enabling Ruffle by default on posts that haven't been confirmed as compatible yet. To manually load a Flash post in Ruffle regardless of whether or not it's the default, you can add ?emulate=flash to the end of the URL, like so.

Homestar Runner

Homestar Runner is a prime example of how most legacy Flash sites — if they adopt Ruffle at all — will use a more set-and-forget approach to installing the emulator, which unfortunately means that updates to the hosted code will be rather infrequent unless they use the official CDN.