SWF2EXE Software
   HOME

TheInfoList



OR:

SWF ( ) is an
Adobe Flash Adobe Flash (formerly Macromedia Flash and FutureSplash) is a multimedia software platform used for production of animations, rich web applications, desktop applications, mobile apps, mobile games, and embedded web browser video players. Fla ...
file format used for
multimedia Multimedia is a form of communication that uses a combination of different content forms such as text, audio, images, animations, or video into a single interactive presentation, in contrast to tradit ...
,
vector graphics Vector graphics is a form of computer graphics in which visual images are created directly from geometric shapes defined on a Cartesian plane, such as points, lines, curves and polygons. The associated mechanisms may include vector display ...
and
ActionScript ActionScript is an object-oriented programming language originally developed by Macromedia Inc. (later acquired by Adobe). It is influenced by HyperTalk, the scripting language for HyperCard. It is now an implementation of ECMAScript (meaning ...
.Open Screen Project
Originating with
FutureWave Software FutureWave Software, Inc was a software development company based in San Diego, California. The company was co-founded by Charlie Jackson and Jonathan Gay on January 22, 1993. VP of Marketing was Michelle Welsh who also came from Silicon Beach Sof ...
, then transferred to
Macromedia Macromedia, Inc., was an American graphics, multimedia, and web development software company (1992–2005) headquartered in San Francisco, California, that made products such as Flash and Dreamweaver. It was purchased by its rival Adobe System ...
, and then coming under the control of Adobe, SWF files can contain animations or
applet In computing, an applet is any small application that performs one specific task that runs within the scope of a dedicated widget engine or a larger program, often as a plug-in. The term is frequently used to refer to a Java applet, a program ...
s of varying degrees of interactivity and function. They may also occur in programs, commonly
browser game A browser game or a "flash game" is a video game that is played via the internet using a web browser. They are mostly free-to-play and can be single-player or multiplayer. Some browser games are also available as mobile apps, PC games, or on ...
s, using
ActionScript ActionScript is an object-oriented programming language originally developed by Macromedia Inc. (later acquired by Adobe). It is influenced by HyperTalk, the scripting language for HyperCard. It is now an implementation of ECMAScript (meaning ...
. Programmers can generate SWF files from within several Adobe products, including
Flash Flash, flashes, or FLASH may refer to: Arts, entertainment, and media Fictional aliases * Flash (DC Comics character), several DC Comics superheroes with super speed: ** Flash (Barry Allen) ** Flash (Jay Garrick) ** Wally West, the first Kid F ...
,
Flash Builder Adobe Flash Builder (previously known as Adobe Flex Builder) is an integrated development environment (IDE) built on the Eclipse platform that speeds development of rich Internet applications (RIAs) and cross-platform desktop applications, parti ...
(an IDE),
Adobe Animate Adobe Animate (formerly Adobe Flash Professional, Macromedia Flash, and FutureSplash Animator) is a multimedia authoring and computer animation program developed by Adobe Inc. Animate is used to design vector graphics and animation for televisi ...
(the replacement for Adobe Flash as of Feb. 2016), and
After Effects Adobe After Effects is a digital visual effects, motion graphics, and compositing application developed by Adobe Inc., and used in the post-production process of film making, video games and television production. Among other things, After Ef ...
, as well as through MXMLC, a command-line application compiler which forms 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 using Adobe products, one can build SWFs with open-source Motion-Twin ActionScript 2 Compiler (MTASC), the open-source Ming library and the
free-software Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, no ...
suite SWFTools. Various other third-party programs can also produce files in this format, such as
Multimedia Fusion 2 Clickteam is a French software development company based in Boulogne-Billancourt, Hauts-de-Seine. Founded by Francis Poulain, François Lionet and Yves Lamoureux, Clickteam is best known for the creation of Clickteam Fusion, a script-free p ...
, Captivate and SWiSH Max. The term "SWF" has originated as an abbreviation for ShockWave Flash. This usage was changed to the
backronym A backronym is an acronym formed from an already existing word by expanding its letters into the words of a phrase. Backronyms may be invented with either serious or humorous intent, or they may be a type of false etymology or folk etymology. The ...
Small Web Format to eliminate confusion with a different technology, Shockwave, from which SWF derived. There is no official resolution to the initialism "SWF" by Adobe.


History

The small company
FutureWave Software FutureWave Software, Inc was a software development company based in San Diego, California. The company was co-founded by Charlie Jackson and Jonathan Gay on January 22, 1993. VP of Marketing was Michelle Welsh who also came from Silicon Beach Sof ...
originally defined the file format with one primary objective: to create small files for displaying entertaining animations. 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 Adobe Animate (formerly Adobe Flash Professional, Macromedia Flash, and FutureSplash Animator) is a multimedia authoring and computer animation program developed by Adobe Inc. Animate is used to design vector graphics and animation for televis ...
in May 1996. In December 1996 Macromedia acquired FutureWave and FutureSplash Animator became Macromedia Flash 1.0. The original naming of SWF came out of Macromedia's desire to capitalize on the well-known
Macromedia Shockwave Adobe Shockwave (formerly Macromedia Shockwave and MacroMind Shockwave) is a discontinued multimedia platform for building interactive multimedia applications and video games. Developers originate content using Adobe Director and publish it on ...
brand;
Macromedia Director Adobe Director (formerly Macromedia Director, MacroMind Director, and MacroMind VideoWorks) was a multimedia application authoring platform created by Macromedia and managed by Adobe Systems until its discontinuation. Director was the primary edi ...
produced Shockwave files for the end user, so the files created by their newer Flash product tried to capitalize on the already established brand. As Flash became more popular than Shockwave itself, this branding decision became more of a liability, so the format started to be referred to as simply SWF. 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 Adobe Flash (formerly Macromedia Flash and FutureSplash) is a multimedia software platform used for production of animations, rich web applications, desktop applications, mobile apps, mobile games, and embedded web browser video players. Flas ...
. However,
Rob Savoye Rob Savoye is the primary developer of Gnash. He is a developer for the GNU Project, having worked on Debian, Red Hat and dozens of other free/open source software projects. He was among the first employees of Cygnus Support, which was sold to ...
, a member of the Gnash development team, has pointed to some parts of the Flash format which remain closed. On July 1, 2008, Adobe released code to Google and Yahoo, which allowed their search engines to crawl and index SWF files.


Description

The main graphical primitive in SWF is the path, which is a chain of segments of primitive types, ranging from lines to splines or bezier curves. Additional primitives like rectangles, ellipses, and even text can be built from these. The graphical elements in SWF are thus fairly similar to SVG and MPEG-4 BIFS. SWF also uses
display list A display list (or ''display file'') is a series of graphics commands that define an output image. The image is created ( ''rendered'') by executing the commands to combine various primitives. This activity is most often performed by specialized di ...
s and allows naming and reusing previously defined components. The binary stream format SWF uses is fairly similar to QuickTime atoms, with a tag, length and payload an organization that makes it very easy for (older) players to skip contents they don't support.C. Concolato and J. C. Dufourd.
Comparison of MPEG-4 BIFS and some other multimedia description languages
. Workshop and Exhibition on MPEG-4, WEPM. 2002.
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) and video (since Flash 6). Adobe introduced a new, low-level 3D API in version 11 of the Flash Player. Initially codenamed Molehill, the official name given to this API was ultimately
Stage3D Stage3D ( codenamed ''Molehill'') is an Adobe Flash Player API for rendering interactive 3D graphics with GPU-acceleration, within Flash games and applications. Flash Player or AIR applications written in ActionScript 3 may use Stage3D to rend ...
. It was intended to be an equivalent of OpenGL or Direct3D. In Stage3D
shader In computer graphics, a shader is a computer program that calculates the appropriate levels of light, darkness, and color during the rendering of a 3D scene - a process known as ''shading''. Shaders have evolved to perform a variety of speci ...
s are expressed in a low-level language called Adobe Graphics Assembly Language (AGAL).


Adoption

Adobe makes available plugins, such as
Adobe Flash Player Adobe Flash Player (known in Internet Explorer, Firefox, and Google Chrome as Shockwave Flash) is computer software for viewing multimedia contents, executing rich Internet applications, and streaming audio and video content created on the ...
and
Adobe Integrated Runtime Adobe AIR (also known as Adobe Integrated Runtime and is codenamed Apollo) is a cross-platform runtime system currently developed by Harman International, in collaboration with Adobe Inc., for building desktop applications and mobile applicat ...
, to play SWF files in
web browser A web browser is application software for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's screen. Browsers are used o ...
s on many desktop operating systems, including Microsoft Windows,
Mac OS X macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and la ...
, and
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, w ...
on the
x86 architecture x86 (also known as 80x86 or the 8086 family) is a family of complex instruction set computer (CISC) instruction set architectures initially developed by Intel based on the Intel 8086 microprocessor and its 8088 variant. The 8086 was int ...
and ARM architecture (
ChromeOS ChromeOS, sometimes stylized as chromeOS and formerly styled as Chrome OS, is a Linux-based operating system designed by Google. It is derived from the open-source ChromiumOS and uses the Google Chrome web browser as its principal user interfa ...
only).
GNU GNU () is an extensive collection of free software (383 packages as of January 2022), which can be used as an operating system or can be used in parts with other operating systems. The use of the completed GNU tools led to the family of operat ...
has started developing a
free software Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, no ...
SWF player called Gnash under the
GNU General Public License The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general ...
(GPL). Despite being a declared high-priority GNU project, funding for Gnash was fairly limited. Another player is the LGPL-licensed
Swfdec Swfdec is an outdated free and open-source replacement for Adobe Flash Player. It runs on Linux and FreeBSD and is distributed under the terms of the GNU Lesser General Public License (LGPL). Its last release was 0.8.4, on and latest in stable 0 ...
. Lightspark is a continuation of Gnash supporting more recent SWF versions. Adobe has incorporated SWF playback and authoring in other product and technologies of theirs, including in
Adobe Shockwave Adobe Shockwave (formerly Macromedia Shockwave and MacroMind Shockwave) is a discontinued multimedia platform for building interactive multimedia applications and video games. Developers originate content using Adobe Director and publish it on ...
, which renders more complex documents. SWF can also be embedded in PDF files; these are viewable with
Adobe Reader Adobe Acrobat is a family of application software and Web services developed by Adobe Inc. to view, create, manipulate, print and manage Portable Document Format (PDF) files. The family comprises Acrobat Reader (formerly Reader), Acrobat (former ...
9 or later.
InDesign Adobe InDesign is a desktop publishing and page layout designing software application produced by Adobe Inc. and first released in 1999. It can be used to create works such as posters, flyers, brochures, magazines, newspapers, presentations, bo ...
CS6 can also produce some limited forms of SWF animations directly. Sony PlayStation Portable consoles can play limited SWF files in Sony's web browser, beginning with firmware version 2.71. Both the Nintendo Wii and the
Sony , commonly stylized as SONY, is a Japanese multinational conglomerate corporation headquartered in Minato, Tokyo, Japan. As a major technology company, it operates as one of the world's largest manufacturers of consumer and professiona ...
PS3 consoles can run SWF files through their Internet browsers.
Scaleform Scaleform Corporation is a developer providing middleware for use in the video game industry. As a result of Autodesk's acquisition of the company in March 2011, Scaleform has become part of the Autodesk Gameware line of middleware. Products ...
GFx is a commercial alternative SWF player that features full hardware acceleration using the
GPU A graphics processing unit (GPU) is a specialized electronic circuit designed to manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs are used in embedded systems, mobi ...
and has high conformance up to Flash 8 and AS2. Scaleform GFx is licensed as a
game middleware A game engine is a software framework primarily designed for the development of video games and generally includes relevant libraries and support programs. The "engine" terminology is similar to the term "software engine" used in the software i ...
solution and used by many PC and console 3D games for user interfaces, HUDs, mini games, and video playback. The newer 3D features of SWF have been seen as an alternative to
WebGL WebGL (Short for Web Graphics Library) is a JavaScript API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-ins. WebGL is fully integrated with other web standards, allowing GPU-accelera ...
, with a spurt of 3D engines like
Papervision3D Papervision3D is an open-source, 3D graphics engine for rendering 3D content within Adobe Flash Player and Adobe AIR. Unlike modern Flash 3D engines such as Away3D and Flare3D, Papervision3D is not built for Stage3D and renders 3D content fully o ...
,
Away3D Away3D is an open-source platform for developing interactive 3D graphics for video games and applications, in Adobe Flash or HTML5. The platform consists of a 3D world editor (Away Builder),
, Sandy 3D, and Alternativa 3D targeting 3D SWF. Although some of these projects started around 2005, until Flash Player 10 however they had no support of
GPU A graphics processing unit (GPU) is a specialized electronic circuit designed to manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs are used in embedded systems, mobi ...
acceleration, and even in that version of the Flash Player, shaders could be used for same materials, but vertex information still had to be processed on the CPU (using BSP trees etc.) After version 11 of the Flash Player added the new Stage3D low-level API, some but not all of these projects migrated to the new API. One that did migrate was Away3D, version 4. Based on an independent study conducted by Millward Brown and published by Adobe, in 2010, over 99% of desktop web browsers in the "mature markets" (defined as United States, Canada, United Kingdom, France, Germany, Japan, Australia, and New Zealand) had a SWF plugin installed, with around 90% having the latest version of the Flash Player. Due to the increasing popularity of HTML5 for games and animations, as well as the numerous security holes that had plagued Adobe's SWF player, Adobe declared its Flash player
EOL EOL or Eol may refer to: * Encyclopedia of Life, a freely-accessible, online collaborative bio-encyclopedia * End-of-life (product), a term used with respect to terminating the sale or support of goods and services * End-of-line, a special charac ...
on December 31, 2020. On January 12, 2021, it pushed an update to its Flash player that blocked all Flash content from running.


Published specifications

Adobe makes available a partial specification of SWF, most recently updated in January 2013 to reflect changes in SWF version 19. SWF versions have been decoupled from Flash player versions after Flash 10. Afterwards the version number of the SWF progressed rapidly; SWF version 19 corresponds to the new features added in Flash Player 11.6. Flash Player 14 uses SWF version 25. In 2008, the specifications document was criticized by
Rob Savoye Rob Savoye is the primary developer of Gnash. He is a developer for the GNU Project, having worked on Debian, Red Hat and dozens of other free/open source software projects. He was among the first employees of Cygnus Support, which was sold to ...
, the lead developer of the Gnash project, as missing "huge amounts" of information needed to completely implement SWF, omitting specifications for RTMP and
Sorenson Spark Sorenson Media was an American software company specializing in video encoding technology. Established in December 1995 as Sorenson Vision, the company developed technology which was licensed and ultimately acquired from Utah State University. T ...
. The RTMP specification was released publicly in June 2009. The Sorenson Spark codec is not Adobe's property.


Licensing

Until May 1, 2008, implementing software that plays SWF was disallowed by the specification's license. On that date, as part of its Open Screen Project, Adobe dropped all such restrictions on the SWF and
FLV Flash Video is a container file format used to deliver digital video content (e.g., TV shows, movies, etc.) over the Internet using Adobe Flash Player version 6 and newer. Flash Video content may also be embedded within SWF files. There are t ...
formats. 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."


Related file formats and extensions

Other formats related to SWF authoring in the Adobe tool chain remain without a public specification. One example is FLA, which is the editable version of SWF used by Adobe's Flash, but not by other Adobe tools that can also output SWF, albeit with fewer features.


See also

;Adobe Flash *
ActionScript ActionScript is an object-oriented programming language originally developed by Macromedia Inc. (later acquired by Adobe). It is influenced by HyperTalk, the scripting language for HyperCard. It is now an implementation of ECMAScript (meaning ...
* ActionScript code protection *
Adobe Flash Player Adobe Flash Player (known in Internet Explorer, Firefox, and Google Chrome as Shockwave Flash) is computer software for viewing multimedia contents, executing rich Internet applications, and streaming audio and video content created on the ...
, the runtime that executes and plays back Flash movies *
Adobe Flash Lite Adobe Flash Lite (formerly Macromedia Flash Lite) was a lightweight version of Adobe Flash Player, a software application published by Adobe Systems for viewing Flash content. Flash Lite operates on devices that Flash Player cannot, such as mobi ...
, a lightweight version of Flash Player for devices that lack the resources to run regular Flash movies *
Flash Video Flash Video is a container file format used to deliver digital video content (e.g., TV shows, movies, etc.) over the Internet using Adobe Flash Player version 6 and newer. Flash Video content may also be embedded within SWF files. There ar ...
* Ming library *
Saffron Type System The Saffron Type System is a system for rendering high-quality scalable type on digital displays. It was developed by Mitsubishi Electric Research Laboratories, and is built on a core of adaptively-sampled distance field (ADF) technology. Saffron ...
, the anti-aliased text-rendering engine used in version 8 onwards *
Local Shared Object A local shared object (LSO), commonly called a Flash cookie (due to its similarity with an HTTP cookie), is a piece of data that websites that use Adobe Flash may store on a user's computer. Local shared objects have been used by all versions of ...
*
SWFObject SWFObject (originally FlashObject) is an open-source JavaScript library used to embed Adobe Flash content onto Web pages and to protect the flash game against piracy, which is supplied as one small JavaScript file. The library can also detect the ...
, a JavaScript library used to embed Flash content into webpages. ;Other * OpenLaszlo *
Personal video recorder A digital video recorder (DVR) is an electronic device that records video in a digital format to a disk drive, USB flash drive, SD memory card, SSD or other local or networked mass storage device. The term includes set-top boxes with direct to d ...
s some possibly record and play swf files *
FutureSplash Animator Adobe Animate (formerly Adobe Flash Professional, Macromedia Flash, and FutureSplash Animator) is a multimedia authoring and computer animation program developed by Adobe Inc. Animate is used to design vector graphics and animation for televis ...
* SWFTools * SWiSH Max


References


External links


Adobe Systems Flash SWF reference

SWF File Format Specification
(Version 19)
Adobe SWF Investigator
a disassembler of sorts

{{DEFAULTSORT:Swf Adobe Flash Computer file formats Graphics file formats