From Wikipedia, the free encyclopedia
Jump to: navigation, search
Small Web Format (SWF)
Adobe-swf icon.png
Filename extension .swf
Internet media type application/vnd.adobe.flash-movie
Magic number CWS,FWS[1] or ZWS[1]
Developed by FutureWave Software,
later taken over by Macromedia and
Adobe Systems
Type of format Vector graphic animation
Container for Shockwave Flash, later called Macromedia Shockwave Flash then Adobe Flash.

SWF (/ˈswɪf/ SWIF)[2] is an Adobe Flash file format used for multimedia, vector graphics and ActionScript.[3] Originating with FutureWave Software, then transferred to Macromedia, and then coming under the control of Adobe, SWF files can contain animations or applets of varying degrees of interactivity and function.

Currently, SWF is the dominant format for displaying "animated" vector graphics on the Web.[4] It may also be used for programs, commonly browser games, using ActionScript.

SWF files can be generated from within several Adobe products including Flash, Flash Builder (an IDE) and After Effects, as well as through MXMLC, a command line application compiler which is part of the freely available Flex SDK. Although Adobe Illustrator can generate SWF format files through its "export" function, it cannot open or edit them. Other than Adobe products, SWFs can be built with open source Motion-Twin ActionScript 2 Compiler (MTASC), the open source Ming library and the free software suite SWFTools. There are also various third party programs that can produce files in this format, such as Multimedia Fusion 2, Captivate and SWiSH Max.

Originally, the term SWF was used as an abbreviation for ShockWave Flash. This usage was changed to the backronym Small Web Format to eliminate confusion with a different technology, Shockwave, from which SWF was derived.[5]


The small company FutureWave Software originally defined the file format with one primary objective: to create small files for displaying entertaining animations.[6] The idea involved a format which player software could run on any system and which would work with slower network connections. FutureWave released FutureSplash Animator in May 1996. In December 1996 Macromedia acquired FutureWave and FutureSplash Animator became Macromedia Flash 1.0.

Adobe acquired Macromedia in 2005.

On May 1, 2008, Adobe dropped its licensing restrictions on the SWF format specifications, as part of the Open Screen Project. However, Rob Savoye, a member of the Gnash development team, has pointed to some parts of the Flash format which remain closed.[7] On July 1, 2008, Adobe released code which allowed the Google and Yahoo search-engines to crawl and index SWF files.[8]


Originally limited to presenting vector-based objects and images in a simple sequential manner, the format in its later versions allows audio (since Flash 3), video (since Flash 6) and many different possible forms of interaction with the end user. Once created, SWF files can be played by the Adobe Flash Player, working either as a browser plugin or as a standalone player. SWF files can also be encapsulated with the player, creating a self-running SWF movie called a "projector". A swf file refers to a project. Adobe makes available plugins, such as Adobe Flash Player and Adobe Integrated Runtime, to play SWF files in web browsers on many desktop operating systems, including Microsoft Windows, Mac OS X, and Linux on the x86 architecture. As of 2007 intensive development had taken place on Gnash, a free-software implementation of a SWF player. Another FOSS implementation is Swfdec.

Based on an independent study conducted by Millward Brown, over 99% of Web users now have a SWF plugin installed, with around 90% having the latest version of the Flash Player.[4]

Sony PlayStation Portable consoles can play limited SWF files in Sony's web browser, beginning with firmware version 2.71. Both the Nintendo Wii[9] and the Sony PS3[10] consoles can run SWF files through their Internet browsers.


Adobe makes available a partial specification of SWF.[11] The document is claimed to be missing "huge amounts" of information needed to completely implement SWF, omitting specifications for RTMP and Sorenson Spark.[7] However, the RTMP specification[12] was released publicly in June 2009, and the Sorenson Spark codec is not Adobe's property. Until May 1, 2008, implementing software that plays SWF was disallowed by the specification's license.[13] On that date, as part of its Open Screen Project, Adobe dropped all such restrictions on the SWF and FLV formats.[14] However, the SWF specification was released under a very restrictive license:[1]

This manual may not be copied, photocopied, reproduced, translated, or converted to any electronic or machine-readable form in whole or in part without written approval from Adobe Systems Incorporated.

Implementing software which creates SWF files has always been permitted, on the condition that the resulting files render "error free in the latest publicly available version of Adobe Flash Player."[15]

GNU has started developing a free software SWF player called Gnash under the GNU General Public License (GPL). Another player is the GNU LGPL Swfdec. However, GNU does not provide financial support for either project.

Scaleform GFx is a commercial alternative SWF player that features full hardware acceleration using the GPU and has high conformance up to Flash 8 and AS2. Scaleform GFx is licensed as a game middleware solution and used by many PC and console 3D games for user interfaces, HUDs, mini games, and video playback.

Related file formats and extensions[edit]

Extension Explanation
.swf .swf files are completed, compiled and published files that cannot be edited with Adobe Flash. However, many '.swf decompilers' do exist.[16] Attempting to import .swf files using Flash allows it to retrieve some assets from the .swf, but not all.[17]
.FXG FXG is a unified xml file format being developed by Adobe for Flex, Flash, Photoshop and other applications.
.fla .fla files contain source material for the Flash application. Flash authoring software can edit FLA files and compile them into .swf files. The Flash source file format is currently a binary file format based on the Microsoft Compound File Format. In Flash Pro CS5, the fla file format is a zip container of an XML-based project structure.
.xfl .xfl files are XML-based project files that are equivalent to the binary .fla format. Flash authoring software uses XFL as an exchange format in Flash CS4. It imports XFL files that are exported from InDesign and AfterEffects. In Flash Pro CS5, the xfl file is a key file which opens the "uncompressed FLA" file, which is a hierarchy of folders containing XML and binary files.
.as .as files contain ActionScript source code in simple source files. FLA files can also contain Actionscript code directly, but separate external .as files often emerge for structural reasons, or to expose the code to versioning applications.
.mxml .mxml files are used in conjunction with ActionScript files (and .css files), and offer a markup-language-style syntax (like HTML) for designing the GUI in Flex. Each MXML file creates a new class that extends the class of the root tag, and adds the nested tags as children (if they are descendants of UIComponent) or members of the class.
.swd .swd files are temporary debugging files used during Flash development. Once finished developing a Flash project these files are not needed and can be removed.
.asc .asc files contain Server-Side ActionScript, which is used to develop efficient and flexible client-server Macromedia Flash Communication Server MX applications.
.abc .abc files contain actionscript bytecode used by the Actionscript Virtual Machine AVM (Flash 8 and prior), and AVM2 (Flash 9 or later).
.amf .amf files containing Action Message commands for transacting with a FMS.
.flv .flv files are Flash video files, as created by Adobe Flash, ffmpeg, Sorenson Squeeze, or On2 Flix. The audio and video data within FLV files are encoded in the same way as they are within SWF files.
.f4v .f4v files are similar to iTunes M4V files which are based on MP4 and can be played back by Flash Player 9 Update 3 and above. F4V file format is second container format for Flash video and it differs from FLV file format. It is based on the ISO base media file format.[18][19]
.f4p .f4p files are an Adobe suffix for media encrypted with the Adobe Access digital rights management scheme which is based on the same protection scheme that their RTMP protocol uses.[19]
.f4a .f4a files are an Adobe suffix for iTunes M4A files that contain only audio streams.[19]
.f4b .f4b files are an Adobe suffix for iTunes M4B audio book files.[19]
.f4m .f4m files are XML manifest files. Containing base64 FLV onMetaData headers for an Adobe version of bit rate control HTTP Live Streaming.
.f4f .f4f files are MP4 atom-ized fragmented files. Containing FLV packets.
.swc .swc files are used for distributing components; they contain a compiled clip, the component's ActionScript class file, and other files that describe the component.
.jsfl .jsfl files are used to add functionality in the Flash Authoring environment; they contain JavaScript code and access the Flash JavaScript API.
.swt .swt files are 'templatized' forms of .swf files, used by Macromedia Generator
.flp .flp files are XML files used to reference all the document files contained in a Flash Project. Flash Projects allow the user to group multiple, related files together to assist in Flash project organization, compilation and build.
.spl .spl files are FutureSplash Animator documents.
.aso .aso files are cache files used during Flash development, containing compiled ActionScript byte code. An ASO file is recreated when a change in its corresponding class files is detected. Occasionally the Flash IDE does not recognize that a recompile is necessary, and these cache files must be deleted manually. They are located in %USERPROFILE%\Local Settings\Application Data\Macromedia\Flash8\en\Configuration\Classes\aso on Win32 / Flash8.
.sol .sol files are created by Adobe Flash Player to hold Local Shared Objects (data stored on the system running the Flash player).

See also[edit]

Adobe Flash



  1. ^ a b c "SWF File Format Specification Version 10". Retrieved 2012-02-26. 
  2. ^ "Adobe Flash Player Administration Guide for Flash Player 10.1" (PDF). Adobe Systems. 2010-06-10. p. 1. Retrieved 2011-03-10. 
  3. ^ Open Screen Project
  4. ^ a b "Flash content reaches 99% of Internet viewers". Adobe. Retrieved 2010-09-10. 
  5. ^ "SWF Definition from PC Magazine Encyclopedia". Retrieved 2013-11-02. 
  6. ^ "The History of Flash: The Dawn of Web Animation". Adobe Systems. Retrieved 2008-01-21. 
  7. ^ a b "Free Flash community reacts to Adobe Open Screen Project". Archived from the original on 2008-09-28. Retrieved 2008-11-29. 
  8. ^ Streamingmedia.com: Google and Yahoo Roll out Flash Search
  9. ^ "Wii Internet Channel". 
  10. ^ Eric Lempel. "PS3 Firmware (v2.53) Update". Playstation.Blog. Retrieved 2009-03-12. 
  11. ^ SWF Technology Center | Adobe Developer Connection
  12. ^ Real-Time Messaging Protocol (RTMP) specification | Adobe Developer Connection
  13. ^ "SWF and FLV File Format Specification License Agreement". Adobe Systems. 2007-06-27. Archived from the original on 2007-12-22. Retrieved 2008-01-05. "You may not use the Specification in any way to create or develop a runtime, client, player, executable or other program that reads or renders SWF files." 
  14. ^ "Open Screen Project Press Release". Adobe Systems. 2008-05-01. Retrieved 2008-05-01. 
  15. ^ "Adobe Player Licensing: Flash Player Developer SDKs". Adobe Systems. Retrieved 2008-01-21. 
  16. ^ Brimelow, Lee (25 April 2008). "New Video Tutorial on Ethical SWF Decompiling". the Flash Blog. Adobe Systems. Retrieved 28 October 2010. 
  17. ^ Can a Flash Player movie (SWF) file be edited or imported?. Kb2.adobe.com. Retrieved on 2010-11-09.
  18. ^ Adobe Systems Incorporated (November 2008). Video File Format Specification, Version 10 (PDF). Adobe Systems Incorporated. Retrieved 2009-08-03. 
  19. ^ a b c d "New File Extensions and MIME Types". Kaourantin.net. 2007-10-31. Retrieved 2010-12-04. 

External links[edit]