Skip to the text
pixelimits Digital illustration, working notes

Edition of 20/08/2026 12 entries in 4 parts No advertising, no tracking

Ref TL 02 · Tools and formats Flash animation history and SWF files

Reference Edition of 20/08/2026 also filed under: file formats, web history, preservation

SWF: the compiled file format that Flash published, a compact binary container holding vector shapes, timelines, bitmaps, sound and bytecode, designed to play identically everywhere through a single browser plugin.

In short

  • FLA is the editable project. SWF is what was published. They are not interchangeable.
  • Flash Player reached end of life on 31/12/2020 and Adobe began blocking Flash content on 12/01/2021.
  • Old SWF files still play, through emulators rather than through browsers.

1. What Flash was

Flash was two things that shared a name: an authoring program, where an animator drew vector artwork on a timeline, and a browser plugin, which played the file that program published. Because the plugin was installed nearly everywhere and behaved the same in every browser, an animator could publish one file and be confident it would look the same to everyone. For roughly fifteen years that was a promise no web standard could match.

2. The dates

The dates that matter, in order
When What happened Why it mattered
1996 Macromedia acquires FutureWave Software and its FutureSplash Animator, releasing it as Macromedia Flash 1.0 The vector animation tool that everything else grew from
1999 Flash 4 adds streaming MP3 audio Sound and music become practical over dial up
2000 Flash 5 introduces ActionScript Animation gains programming, and games follow
2003 Flash MX 2004 introduces ActionScript 2.0 Larger projects become maintainable
2005 Flash Player 8 adds the On2 VP6 video codec and filters Web video arrives inside the plugin
03/12/2005 Adobe completes its acquisition of Macromedia Flash changes hands
2006 Flash Player 9 ships ActionScript 3.0 and a new virtual machine A faster, stricter language, and a break with older code
April 2010 Apple publishes its open letter on Flash The public statement that iOS will never carry the plugin
November 2011 Adobe stops developing Flash Player for mobile browsers The write once, run anywhere promise breaks
February 2016 Flash Professional is renamed Adobe Animate The tool survives the format, retargeted at HTML5 and video
July 2017 Adobe announces end of life for the end of 2020 Three years of notice for the whole industry
31/12/2020 Flash Player reaches end of life Support and distribution stop
12/01/2021 Adobe begins blocking Flash content from running The remaining installed players stop playing

Wide table: scroll it sideways.

3. Inside a SWF file

A SWF is a binary file made of a header followed by a stream of tagged records. Each tag declares its type and length, then its payload: define a shape, place an object on the display list, show a frame, embed a sound, load bytecode. A player reads the tags in order and builds the animation as it goes, which is what made streaming playback possible on slow connections.

The first three bytes tell you how the file is stored:

  • FWS: uncompressed, the original form.
  • CWS: zlib compressed, available from SWF version 6 onward.
  • ZWS: LZMA compressed, introduced with SWF version 13.

The scripting inside was ActionScript. Versions 1 and 2 were loose and forgiving, derived from the same ECMAScript family as JavaScript. ActionScript 3.0 arrived with Flash Player 9 in 2006 alongside a new virtual machine, and was a genuinely different, stricter language, which is why so much old material stopped being maintainable at that point.

Diagram of a SWF file structure: a three byte signature block labelled FWS, CWS or ZWS, followed by a version byte, a file length field, and a stack of tagged records labelled define shape, place object, show frame and define sound
A SWF read from the top: signature, version, length, then a stream of tags played in order.

4. Why it took over

  • Vector at dial up sizes. A cartoon that would have been an enormous video file fitted in a few hundred kilobytes as shapes and instructions.
  • One runtime everywhere. The same file, the same result, in every browser that had the plugin, at a time when browsers agreed on almost nothing.
  • A timeline, not a compiler. The authoring tool was made for animators. You could build something substantial without writing code, then add code when you needed it.
  • Sound in sync. Streaming audio from Flash 4 onward meant music and dialogue could carry a whole short film.
  • Distribution. Portal sites accepted a single self contained file, so an animator could publish to a large audience without owning a server.

5. Why it ended

No single cause. The plugin was a large, universally installed target and attracted a steady stream of security vulnerabilities, which meant a permanent patch cycle for every user and every administrator. Mobile arrived and it did not fit: iOS never shipped the plugin, and Adobe stopped developing Flash Player for mobile browsers in 2011, which broke the promise that one file would run everywhere. Battery and processor cost on laptops made browsers restrict it further. Meanwhile the open web standards caught up, with video, the canvas element, WebGL and CSS animation covering most of what Flash had been needed for. Adobe announced the end of life in July 2017, giving three years of notice, and the plugin stopped on schedule.

6. Reading old files today

A SWF file that no longer opens in a browser is not lost. Three routes exist, and they serve different needs.

  • Ruffle: an open source Flash Player emulator written in Rust. It runs in a browser through WebAssembly and also as a desktop application, and the Internet Archive uses it to make its archived Flash collection playable in a normal browser. Support for older ActionScript is strong; support for the later, stricter version is still catching up.
  • BlueMaxima's Flashpoint: a preservation project launched in 2018 that collects web games and animations together with the runtimes and server behaviour needed to make them work, and plays them offline on your own machine.
  • Newgrounds Player: a desktop application from the portal that hosted a great deal of this material, made so its own archive stayed playable.

7. Keeping the work

If you have old Flash work, or you are handed a folder of it, four steps preserve most of the value:

  • Keep the FLA files. A SWF is a compiled result. Decompilers exist and they lose things: layer names, guides, unused symbols, editable text. The project file is the only real source.
  • Record a video capture of each piece as it actually plays, with sound. That is the version that will still open in thirty years.
  • Write down the dependencies. Fonts, external asset files, anything loaded from a server that no longer exists. A file that needs a missing server is a file that will not run.
  • Store it twice, in two places, and check it opens once a year. Preservation is a routine, not a folder.