The SWF file format (pronounced “swiff ”) delivers vector graphics, text, video, and sound
over the Internet and is supported by Adobe® Flash® Player software. The SWF file format is
designed to be an efficient delivery format, not a format for exchanging graphics between
graphics editors. It is designed to meet the following goals:
On-screen display—The format is primarily intended for on-screen display and supports
anti-aliasing, fast rendering to a bitmap of any color format, animation, and interactive
Extensibility—The format is a tagged format, so it can be evolved with new features while
maintaining backward compatibility with earlier versions of Flash Player.
Network delivery—The format can travel over a network with limited and unpredictable
bandwidth. The files are compressed to be small and support incremental rendering through
streaming. The SWF file format is a binary format and is not human readable like HTML.
The SWF file format uses techniques such as bit-packing and structures with optional fields
to minimize file size.
Simplicity—The format is simple so that Flash Player is small and easily ported. Also, Flash
Player depends upon a limited set of operating system features only.
File independence—The files display without dependence on external resources such
Scalability—The files work well on limited hardware, and can take advantage of better
hardware when it is available. This ability is important because computers have different
monitor resolutions and bit depths.
Speed—The files render with quick, high quality.
Scriptability—The format includes tags that provide sequences of byte codes to be
interpreted by a stack machine. The byte codes support the ActionScript™ language. Flash
Player provides a runtime ActionScript object model that allows interaction with drawing
primitives, servers, and features of Flash Player.
SWF files have the extension .swf and a MIME type of application/x-shockwave-flash.
The SWF format has evolved through several versions. Through SWF 5, substantial additions
were made to the SWF tag set. Starting with SWF 6 and later, the SWF format changes less,
as more new features are implemented partly or entirely at the ActionScript level. Starting
with SWF 9, the ActionScript 3.0 language, which employs the new ActionScript Virtual
Machine 2 (AVM2) can be used. Anyone planning to generate SWF file content that uses
newer features should become familiar with the ActionScript object model that Flash Player
exposes. Some references for this information are Programming ActionScript 3.0 (see
wwhelp.htm?href=Part5_ProgAS.html), ActionScript 3.0 Language Reference (see
livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/), and the Adobe ActionScript Virtual
Machine 2 (AVM2) Overview at www.adobe.com/go/avm2overview/ (PDF file).
Adobe seriously considers all feedback to the SWF file format specification. E-mail any
unclear or potentially erroneous information within the specification to Adobe at
email@example.com. All such email submissions shall be subject to the Submitted
Uploaded: May 6, 2008