WAFlash is a Flash emulator that has excellent compatibility with all three ActionScript versions, a very impressive feat. It is written in C++ by Korean developer Jinsoo Park, and it is compiled for the web using Emscripten. That means you can try it out in your browser right now; just head over to the demo page and drag an SWF from your computer onto the page to play!
Unfortunately, this good news comes with a catch. WAFlash might be the most widely compatible Flash emulator, but there is no offline download available and no browser extension. Worse still, the project is not open source, and the developer says he may take the emulator commercial in the future. The future of WAFlash is uncertain, and the developer has stated that webmasters are not currently allowed to use it on their own websites, either.
AwayFL
AwayFL is an open source Flash emulator created by the non-profit Away Foundation. They have notably worked with Poki to create official emulated versions of Nitrome?s classic Flash games. You can learn more about the partnership from this Pocket Gamer interview. Although these conversions are excellent, there is very little official documentation of AwayFL. The emulator is said to work very well for a narrow segment of early ActionScript 3 games, but in my tests, it proved underwhelming for general usage. Your mileage may vary; you can try out the emulator on this unofficial demo page. If you have questions about the emulator, you can contact the Away Foundation or join their semi-official Discord server. And if you?re a webmaster, you can integrate AwayFL with your website by following these instructions.
swf2js
swf2js is a pure JavaScript Flash emulator developed by a Japanese team led by Toshiyuki Ienaga. The emulator has a free edition and a paid edition, but you can try out both editions for free in the ?live preview? area of the site. You will only need to pay a fee if you want to use the production version of swf2js on your own website.
If you have an older SWF you want to play, head to the free version demo and click ?Browse? at the top of the page to load the SWF. Next, click ?Upload? and wait some time for the SWF to load. If you have a newer SWF that uses ActionScript 3, try the production version demo instead.
swf2js has been in continuous development since 2013, and it shows. Because it uses plain JavaScript instead of newer, faster technologies such as WebAssembly, it struggles mightily with more intensive SWFs. However, swf2js is very accurate; in my tests, it often seemed to have fewer visual glitches than other emulators.
Conclusion
There is clearly no ?silver bullet? emulator that can play all SWFs. In its twenty-five-year history, Flash gained a plethora of features, many of which are a monumental challenge to emulate within the restricted sandbox of the modern web. Earlier, simpler Flash content is likely to work well enough with free emulators, but the outlook seems grim for newer, more advanced Flash content. Even paid options for emulating ActionScript 3 are severely lacking. Until Flash emulation matures, your best bet is probably to run the official Flash Player in a closed environment. I will explain your options for doing so in a future post ? stay tuned!