Flash to HTML5 - Swiffy, Haxe, Shumway and other conversion tools

(Updated 22 Feb. 2015). There has been much speculation about the future of Flash in the media with the introduction of Flash to HTML5 (and JavaScript) conversion tools, and with Flash support being dropped for mobile browsers. This blog post aims to clarify some of these issues. It compares several tools for converting Flash to HTML5 - including Adobe's HTML5 Canvas conversion (formerly CreateJS / Wallaby), Google's Swiffy, Mozilla's Shumway and Haxe - and their potential to convert Flash content on the web. It also looks at how Flash continues its presence on mobile devices in the forms of apps - and remains a popular platform for mobile app development.

HTML5 (the new HTML/web-page language standard) is now widely touted as the replacement of Flash, and over the past few years a number of tools have been developed to automatically convert Flash to HTML5. However, HTML5 will not yet be replacing all Flash apps for the following reasons:

1. Older widely used web-browsers do not support HTML5. According to the latest statistics the majority of Internet users are still using browsers that do not or only partially support HTML5. If you look at the enduring usage of the relatively ancient Internet Explorer 6.0 (released in 2001) you can see that it could take at least another five years or so for the large majority of people to be using web-browsers which fully support HTML5. Even relatively recent versions of the popular Internet Explorer and Firefox browsers have only limited or no support for HTML5.

2. Mobile devices do support HTML5, but also Flash - through the appstore. Android devices support Flash in the mobile browser up to Android v 4.0, but iPads and iPhones do not. The future of Flash on mobile devices and tablets is not in the web-browser, but in the appstore. These are Flash apps specifically designed for touch-screen interfaces. iPads and iPhones do support Flash-based apps through the appstore, and Android devices through the Google Play Store. Many of the most popular iPad and Android apps are Flash-based (you just don't know it, because it is not advertised anywhere). An example is the Flash game Machinarium, which when released on the iPad quickly became the number one paid iPad app.​

3. HTML5 still has some limitations. HTML5 can replace online videos, advertising and animations, but still has limitations when it comes to more complex applications. More advanced Flash applications, including relatively complex Flash games and visualization applications such as StatPlanet, are not easily replaced using HTML5. The power of HTML5 (+Javascript & CSS 3) is advancing, but creating complex apps with HTML5 still remains very difficult and some of the functionality present in Flash cannot yet be replicated. Developing HTML5 to become a more robust platform with capabilities similar to those currently in Flash will take time.

4. Tools to convert Flash to HTML5 are still limited, and for complex applications it is not an easy process. As long as Flash cannot be easily converted to HTML5, many complex Flash apps, games and platforms are here to stay in Flash form. In the meantime, there are several other projects which promise conversion of Flash ActionScript to Javascript:

  • Haxe
    Haxe - A cross-platform toolkit which is growing in popularity. It is similar to ActionScript and hence it is one of the easiest options for conversion, in particular if used through OpenFL. Haxe can compile to several languages including JavaScript. Some partial automatic conversion tools are currently available, such as as3hx and as3tohx.
  • Shumway
    Mozilla's Shumway uses TypeScript (see below) to translate ActionScript. It is already available as a Firefox extension, and recent headlines on news websites such as TechCrunch already anounced that Shumway eliminates the need for Adobe Flash Player. However, on testing the latest release on 22 Feb. 2015, that does not seem to be the case (yet). In fact, Shumway did not work with any of the applications or Flash games tested. Some did not load, another loaded but did not play, and one crashed the browser.
  • ActionScript to TypeScript conversion
    TypeScript is a superset of Javascript developed by Microsoft. It is quite similar to ActionScript, enables developers to build more powerful and robust applications (compared to plain JavaScript), and has been widely adopted since release. So for these reasons it is a popular choice for conversion from ActionScript. There are several ActionScript to TypeScript conversion tools, such as AS3toTypeScript, and the more recent as3-to-typescript.
  • FlexJS
    Apache FlexJS and FalconJX is another promising prospect, though still in the early development stage. It aims to convert Flex MXML/ActionScript to HTML/JS/CSS.
  • Jangaroo
    Jangaroo which features some impressive demos of Flash ActionScript to JavaScript conversion, but it is not as actively developed as Haxe.

5. Compared to Flash actionscript, HTML5 / javascript is easier to decompile and re-use. Developing a commercial product with HTML5 / javascript is a bit more tricky, because even with obfuscation the code is visible as plain text in the browser. For Flash, third-party non-free software is required to view the code, which is an impediment to potential hackers (or anyone who wishes to illegally use a non-free product). This makes it more difficult to sell javascript-based apps which run in the browser (rather than in the form of a mobile app).


Review of Adobe Flash to HTML5 conversion

HTML5 conversion is now included in Adobe Flash Professional CC (formerly available as a seperate Create JS Toolkit). Flash ".FLA" files can be converted into HTML5 which can subsequently be edited in Flash itself or other web-development applications such as Dreamweaver. It is a promising tool, but currently its functionality is quite limited. It is useful for converting animations, and recently added limited support for converting ActionScript to JavaScript. It is suitable for relatively simple projects (in terms of coding) but for complex projects with hundreds or thousands of lines of ActionScript code, the conversion process is still far too tedious.

Review of Google Swiffy Flash to HTML5 conversion

At the moment Google Swiffy, released just a few months after Adobe's conversion tool, is the most promising of the two for more advanced Flash creations. This is because in addition to animations and graphics it can also convert Actionscript 2 and 3 into HTML5. Swiffy can convert Flash on the fly right in your browser and the conversion process is very fast - results often appear within seconds.

On the downside, Swiffy does not yet fully support Actionscript 3, and a number of common features cannot yet be converted. Swiffy is updated regularly though and the latest updates can be seen in the Swiffy release notes.

The Swiffy HTML output cannot be edited (or at least not easily), unlike the output from Adobe's CreateJS Toolkit.

Swiffy shows a lot of promise, and although it may not be able to convert very complex apps and games, with a bit of tweaking it can be used to convert almost anything.

(Updated March 2014) It appears that ActionScript 3 support is still much more limited than for actionscript 2, as conversion for an actionscript 3 app led to huge number of 'not supported' errors - including non-support for some very common libraries. I also tested Google Swiffy with several actionscript 2 Flash games, ranging in complexity from very simple to moderately complex, and the results were surprisingly good. Swiffy has certainly come a long way since 2012, when none of the Flash games converted would run.

In the latest version version all the converted ActionScript 2 games were actually functional, with just a few remaining issues:

  • Flash components did not convert. For games this is not such a big issue (since they rarely use the built-in Flash components), however, it can be problematic for applications relying heavily on these components.
  • Sound did not convert.
  • Some graphical artifacts remained when going from one screen to another. This shouldn't be too difficult to iron out.
  • It is slightly less responsive than the Flash version. Racing over chasms for example didn't always register, and instead of falling down the player just flew right over them.

Aspects which converted well are as follows:

  • Converted timeline graphics and animations are exactly as in the original Flash version.
  • The in-game mechanics converted well, aside from the responsiveness issue mentioned above.
  • Keyboard interactivity worked fine.

In the latest version it is definitely feasible therefore to fully convert Flash applications and games, with a bit of tweaking to overcome some of the remaining shortcomings. 

The Swiffy Gallery shows some interesting examples of what can be converted successfully, including two simple Flash games.


Adobe HTML5 Canvas and Swiffy comparison

Adobe's HTML5 Canvas conversion and Google's Swiffy each have advantages and disadvantages so one or the other may be more suitable for your needs. The main differences are summarized below.


  • Adobe Canvas: FLA files
  • Google Swiffy: SWF files


  • Adobe Canvas: editable HTML5 file
  • Google Swiffy: non-editable HTML5 file

Actionscript support:

  • Adobe Canvas: very limited ActionScript 3 conversion to JavaScript
  • Google Swiffy: decent ActionScript 2 conversion and limited ActionScript 3 conversion


  • Adobe Canvas: included as part of Adobe Flash Professional CC
  • Google Swiffy: can be used directly in the web-browser, or as an Adobe Flash Professional extension


In conclusion

On PCs, the lack of support for HTML5 means that Flash will likely remain popular for complex apps and games for at least some years to come. It will probably be replaced completely with HTML5 in other areas such as for advertising and animations. For mobile devices and tablets, Flash is supported in certain non-free web browser apps but is not likely to see widespread use. Instead it's future is in the form of apps. It is already a popular platform for building mobile apps because it can be distributed relatively easily across different platforms, including Apple's Mac OS X, iOS on iPads and iPhones, Google Android, RIM BlackBerry, Microsoft Windows and even TVs. Many people have apps on their iPhones and other devices developed using a Flash development platform without realizing it.

By the time that HTML5 becomes more widely supported on PCs than Flash, which may be around five years from now, it is very likely that Flash to HTML5 conversion tools will have become sophisticated enough to convert more complex Flash apps. HTML5 will need to evolve to be able develop the kind of complex apps that can be built with Flash today, and the evolution of conversion tools will go side by side with the evolution of HTML5 itself. Although many Flash developers consider HTML5 to be a step back, I see this as a small step back that will lead to a giant leap forward. It is too early to tell what the possibilities will be, but the future of interactive media looks as promising as ever.


shraddhamehra2012 posted on Thu, 07/05/2012 - 05:05

Adobe on HTML5: “We’re trying to go beyond what you can do with Flash.”
Cool, right? Flash is & was always just a means to an end (helping people express themselves, and making money selling tools to do so). Adobe continues to pour manpower into bringing Flash innovations (hardware-accelerated filters, better typography, etc.) to HTML. Check out CNET’s interview with engineering manager Arno Gourdol for more details for what we’re doing with blending modes, SVG, and more.

StatSilk's picture
StatSilk posted on Mon, 07/09/2012 - 04:08

Interesting article, thanks! As you say it is a means to an end. I think the Flash developer platform will be reimagined as a high-level framework for producing javascript / html5 content, in addition to apps for mobile devices.

Victoria posted on Thu, 04/11/2013 - 22:30

I just found pixelplant, another Flash to HTML5 online conversion service - have you tried it? They seem to support ActionScript 3. You can upload SWF files to the service.

StatSilk's picture
StatSilk posted on Fri, 05/17/2013 - 06:28

Thanks. I just tried several which at least partially work using Google Swiffy, but they did not work at all with this one unfortunately.

lamcg0 posted on Sun, 08/11/2013 - 23:30

very useful, keep me posted