Sustainability of Digital Formats: Planning for Library of Congress Collections

Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact
Format Description Categories >> Browse Alphabetical List

Flash SWF File Format Family

>> Back
Table of Contents
Format Description Properties Explanation of format description terms

Identification and description Explanation of format description terms

Full name Flash SWF File Format Family
Description

SWF, pronounced /swɪf/ or 'swiff', is a legacy format for multimedia content first in the in the now defunct Macromedia Flash Player and later in the Adobe Flash Player. SWF is also known as the Small Web Format. Adobe announced End of Life (EOL) for the Adobe Flash Player on December 31, 2020 and "blocked Flash content from running in Flash Player beginning January 12, 2021."

Delivers vector graphics (especially animations) and other data types, including "bitmapped" video, over the Internet to the Macromedia Flash Player. Very simple playback (with a repeat loop) is controlled by a timeline; interactive examples (even very simple ones) use both a timeline and ActionScript, a scripting language similar to JavaScript. ActionScripts may reference objects within the SWF file or resources external to it, e.g., Macromedia FLV video files.

From a structural perspective, according to Wikipedia's SWF entry, "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 lists 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. 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)."

SWF files are typically derived from a FLA file (Macromedia Flash Project File); they may also be produced in other ways using third-party software. SWF files may be combined with a runtime version of the Flash player, resulting in a file type called projector. Windows versions of projector files are executables with an exe extension.

The swf extension was originally used for files played by Macromedia's Shockwave browser plug-in; see Notes for additional history information.

In 2005, Adobe purchased Macromedia and a branding changeover began. The documentation for the Adobe Flash SWF File Format, Version 8, was disseminated from the Adobe Web site but still carried the Macromedia brand on the cover sheet.

Production phase Used for final-state, end-user delivery.
Relationship to other formats
    Has subtype Macromedia Flash (SWF) Versions 1, 2, 3, 4, 5 and 6 not separately documented. See Notes for more information.
    Has subtype SWF_7, Macromedia Flash SWF File Format, Version 7
    Has subtype SWF_8, Adobe Flash SWF File Format, Version 8
    Has subtype Adobe Flash (SWF) Versions 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 and 30 not separately documented. See Notes for more information.
    May contain Sorenson_3, Sorenson Video Codec, Version 3
    May contain Screen Video Bitstream Format (ScreenVideo), not documented here.
    May contain PCM, PCM, Pulse Code Modulated Audio
    May contain ADPCM, Adaptive Delta Pulse Code Modulation
    May contain MP3_ENC, MP3
    May contain Nellymoser Asao (speech compression) audio content, not documented here.
    Used by QuickTime, QuickTime File Format
    Other FLA, Macromedia Flash FLA Project File Format.. Explanatory note: SWF files are typically derived from ("save as") a FLA file.

Local use Explanation of format description terms

LC experience or existing holdings The Library of Congress has over 185,000 Flash files in its collections as of May 2024. Versions of Flash are unknown.
LC preference See the Library of Congress Recommended Formats Statement for format preferences for moving image works. Potential challenges to the preservation of SWF files are discussed in Richard Entlich's article "Flash in the Pan or Around for the Long Haul?".

Sustainability factors Explanation of format description terms

Disclosure Some versions are fully documented but no documentation found for versions 1-5, 11-18 or after version 19. Comments welcome. Developed by Macromedia, Inc., later owned by Adobe Systems.
    Documentation

Specification documentation are available for

Comments welcome for additional documentation.

Adoption Legacy format no longer supported. Adobe posted the following on their blog on November 11, 2011 (link via Internet Archive): "HTML5 is now universally supported on major mobile devices, in some cases exclusively. This makes HTML5 the best solution for creating and deploying content in the browser across mobile platforms... Our future work with Flash on mobile devices will be focused on enabling Flash developers to package native apps with Adobe AIR for all the major app stores. We will no longer continue to develop Flash Player in the browser to work with new mobile device configurations (chipset, browser, OS version, etc.) following the upcoming release of Flash Player 11.1 for Android and BlackBerry PlayBook. We will of course continue to provide critical bug fixes and security updates for existing device configurations. We will also allow our source code licensees to continue working on and release their own implementations."
    Licensing and patents Adobe offered the specification and the right to build tools to produce SWF files via a free license (link via Internet Archive).
Transparency Not transparent; proprietary binary format.
Self-documentation None accessible via the player. Tags within the file identify data types, e.g., the particular sound encoding used. Regarding descriptive data, Macromedia offers search engine application engineers a software development kit (link via Internet Archive) that extracts any indexable information from SWF files that producers may have incorporated. The challenge of indexing Flash and similar content is discussed in a special report from the Search Engine Strategies conference in Boston, March 4-6, 2003 (https://web.archive.org/web/20040629080216/http://www.search-this.com/website_design/flash-seo.asp (link via Internet Archive).
External dependencies Must be emulated as Flash player is no longer supported.
Technical protection considerations None.

Quality and functionality factors Explanation of format description terms

Moving Image
Normal rendering Good support
Clarity (high image resolution) Vector content is scalable and thus free of most clarity issues. "Bitmapped" video in SWF files may be compressed in two ways. One option is a Sorenson codec,1 which apparently extends to large picture sizes. Another option is the Screen Video Bitstream Format, optimized for "captures of computer screens in motion." The video quality in these encodings is expected to range from good to very good.
Functionality beyond normal rendering ActionScript permits a wide range of interactive options, and scripts may call on both internal and external resources.
Sound
Normal rendering Good support
Fidelity (high audio resolution) The SWF specification limits uncompressed audio to 44 kHz sampling and 16 bit words, thus providing very good fidelity. The use of compression will reduce fidelity in accord with the specific encoding and settings selected.
Multiple channels Stereo only.
Support for user-defined sounds, samples, and patches None.
Functionality beyond normal rendering ActionScript permits a wide range of interactive options, and scripts may call on both internal and external resources.

File type signifiers and format identifiers Explanation of format description terms

Tag Value Note
Filename extension swf
From the Flash SWF Specification (version 7), p. 9. The Wikipedia article on SWF (consulted May 23, 2024) includes a list of file types (with extensions) associated with the Flash family.
Internet Media Type application/x-shockwave-flash
From the Flash SWF Specification, version 7, p. 9.
Internet Media Type application/vnd.adobe.flash.movie
From https://www.iana.org/assignments/media-types/application/vnd.adobe.flash.movie
Internet Media Type application/x-shockwave-flash2-preview
From The File Extension Source
Magic numbers Hex: 46 57 53
ASCII: FWS
For uncompressed files; from the Flash SWF Specification, version 7, p. 10. The next byte in the file provides the version number.
Magic numbers Hex: 43 57 53
ASCII: CWS
For files compressed with ZLIB; from the Flash SWF Specification, version 7, p. 10. The next byte in the file provides the version number.
Other NF00655
See https://www.archives.gov/files/lod/dpframework/id/NF00655.ttl for Macromedia Flash unspecified version.
Other NF00580
See https://www.archives.gov/files/lod/dpframework/id/NF00580.ttl for Macromedia Flash 5.
Other NF00242
See https://www.archives.gov/files/lod/dpframework/id/NF00242.ttl for Macromedia Flash 6.
Other See related format.  See also SWF_7 for NARA File Format Preservation Plan ID for version 7.
Pronom PUID fmt/104
fmt/105
fmt/106
fmt/107
fmt/108
fmt/109
Pronom has entries for SWF versions 1-30. In order of release for the Macromedia branded specifications, see http://www.nationalarchives.gov.uk/PRONOM/fmt/110 for Macromedia Flash version 1, http://www.nationalarchives.gov.uk/PRONOM/fmt/105 Macromedia Flash version 2, http://www.nationalarchives.gov.uk/PRONOM/fmt/106 Macromedia Flash version 3, http://www.nationalarchives.gov.uk/PRONOM/fmt/107 Macromedia Flash version 4, http://www.nationalarchives.gov.uk/PRONOM/fmt/108 Macromedia Flash version 5, http://www.nationalarchives.gov.uk/PRONOM/fmt/109 Macromedia Flash version 6
Pronom PUID See related format.  See SWF_7 for version 7 information
Pronom PUID See related format.  See SWF_8 for version 8 information
Pronom PUID fmt/506
fmt/507
fmt/757
fmt/758
fmt/759
fmt/760
fmt/761
fmt/762
fmt/763
fmt/764
fmt/765
fmt/766
fmt/767
fmt/768
fmt/769
fmt/770
fmt/771
fmt/772
fmt/773
fmt/774
fmt/775
fmt/776
Pronom has entries for SWF versions 1-30. In order of release for the Adobe branded specifications, see http://www.nationalarchives.gov.uk/PRONOM/fmt/506 for Adobe Flash version 9, http://www.nationalarchives.gov.uk/PRONOM/fmt/507 for Adobe Flash version 10, http://www.nationalarchives.gov.uk/PRONOM/fmt/757 for Adobe Flash version 11, http://www.nationalarchives.gov.uk/PRONOM/fmt/758 for Adobe Flash version 12, http://www.nationalarchives.gov.uk/PRONOM/fmt/759 for Adobe Flash version 13, http://www.nationalarchives.gov.uk/PRONOM/fmt/760 for Adobe Flash version 14, http://www.nationalarchives.gov.uk/PRONOM/fmt/761 for Adobe Flash version 15, http://www.nationalarchives.gov.uk/PRONOM/fmt/762 for Adobe Flash version 16, http://www.nationalarchives.gov.uk/PRONOM/fmt/763 for Adobe Flash version 17, http://www.nationalarchives.gov.uk/PRONOM/fmt/764 for Adobe Flash version 18, http://www.nationalarchives.gov.uk/PRONOM/fmt/765 for Adobe Flash version 19, http://www.nationalarchives.gov.uk/PRONOM/fmt/766 for Adobe Flash version 20, http://www.nationalarchives.gov.uk/PRONOM/fmt/767 for Adobe Flash version 21, http://www.nationalarchives.gov.uk/PRONOM/fmt/768 for Adobe Flash version 22, http://www.nationalarchives.gov.uk/PRONOM/fmt/769 for Adobe Flash version 23, http://www.nationalarchives.gov.uk/PRONOM/fmt/770 for Adobe Flash version 24, http://www.nationalarchives.gov.uk/PRONOM/fmt/771 for Adobe Flash version 25, http://www.nationalarchives.gov.uk/PRONOM/fmt/772 for Adobe Flash version 26, http://www.nationalarchives.gov.uk/PRONOM/fmt/773 for Adobe Flash version 27, http://www.nationalarchives.gov.uk/PRONOM/fmt/774 for Adobe Flash version 28, http://www.nationalarchives.gov.uk/PRONOM/fmt/775 for Adobe Flash version 29 and http://www.nationalarchives.gov.uk/PRONOM/fmt/776 for Adobe Flash version 30
Wikidata Title ID Q29011079
Q29011223
Q29011271
Q29011315
Q29011347
Q29011357
Q29011358
Q29011361
Q29011363
Q29011365
Q29011484
Q29011514
Q29011538
Q29011549
Q29011566
Q29011569
Q29011579
Q29011646
Q29011710
Q29011774
Q29011824
Q29011892
Q29011977
Q29012054
Q29012120
Q29012190
Q29012206
Q29012224
Q29012285
Q29012350
Q29017304
Q29017306
Q29017309
Q29017311
Q29017312
Q29017314
Wikidata has QIDs for versions 1-36. Wikidata does not specify Macromedia or Adobe branding but just list versions as Shockwave Flash. In order of release, see https://www.wikidata.org/wiki/Q29011079 for Shockwave Flash version 1, https://www.wikidata.org/wiki/Q29011223 for Shockwave Flash version 2, https://www.wikidata.org/wiki/Q29011271 for Shockwave Flash version 3, https://www.wikidata.org/wiki/Q29011315 for Shockwave Flash version 4, https://www.wikidata.org/wiki/Q29011347 for Shockwave Flash version 5, https://www.wikidata.org/wiki/Q29011357 for Shockwave Flash version 6, https://www.wikidata.org/wiki/Q29011358 for Shockwave Flash version 7, https://www.wikidata.org/wiki/Q29011361 for Shockwave Flash version 8, https://www.wikidata.org/wiki/Q29011363 for Shockwave Flash version 9, https://www.wikidata.org/wiki/Q29011365 for Shockwave Flash version 10, https://www.wikidata.org/wiki/Q29011484 for Shockwave Flash version 11, https://www.wikidata.org/wiki/Q29011514 for Shockwave Flash version 12, https://www.wikidata.org/wiki/Q29011538 for Shockwave Flash version 13, https://www.wikidata.org/wiki/Q29011549 for Shockwave Flash version 14, https://www.wikidata.org/wiki/Q29011566 for Shockwave Flash version 15, https://www.wikidata.org/wiki/Q29011569 for Shockwave Flash version 16, https://www.wikidata.org/wiki/Q29011579 for Shockwave Flash version 17, https://www.wikidata.org/wiki/Q29011646 for Shockwave Flash version 18, https://www.wikidata.org/wiki/Q29011710 for Shockwave Flash version 19, https://www.wikidata.org/wiki/Q29011774 for Shockwave Flash version 20, https://www.wikidata.org/wiki/Q29011824 for Shockwave Flash version 21, https://www.wikidata.org/wiki/Q29011892 for Shockwave Flash version 22, https://www.wikidata.org/wiki/Q29011977 for Shockwave Flash version 23, https://www.wikidata.org/wiki/Q29012054 for Shockwave Flash version 24, https://www.wikidata.org/wiki/Q29012120 for Shockwave Flash version 25, https://www.wikidata.org/wiki/Q29012190 for Shockwave Flash version 26, https://www.wikidata.org/wiki/Q29012206 for Shockwave Flash version 27, https://www.wikidata.org/wiki/Q29012224 for Shockwave Flash version 28, https://www.wikidata.org/wiki/Q29012285 for Shockwave Flash version 29, https://www.wikidata.org/wiki/Q29012350 for Shockwave Flash version 30, https://www.wikidata.org/wiki/Q29017304 for Shockwave Flash version 31, https://www.wikidata.org/wiki/Q29017306 for Shockwave Flash version 32, https://www.wikidata.org/wiki/Q29017309 for Shockwave Flash version 33, https://www.wikidata.org/wiki/Q29017311 for Shockwave Flash version 34, https://www.wikidata.org/wiki/Q29017312 for Shockwave Flash version 35 and https://www.wikidata.org/wiki/Q29017314 for Shockwave Flash version 36.
Wikidata Title ID Q594447
See https://www.wikidata.org/wiki/QQ594447 for Small Web Format family which includes list of versions 1-36 of SWF
Wikidata Title ID See related format.  See SWF_7 for Shockwave Flash, version 7.
Wikidata Title ID See related format.  See SWF_8 for Shockwave Flash, version 8.

Notes Explanation of format description terms

General In principle, SWF files could be used for static vector graphics but there appears to be little or no practice of doing this. VG files can be used for animations but here again there appears to be little or no practice and even SVG advocates state that Macromedia's powerful authoring software gives SWF the edge.
History

From PRONOM Macromedia Flash Version 1, fmt/104, "the format iterates rapidly, often in line with new releases of Adobe Flash or Adobe Air. Prior to version 6 all SWF files were uncompressed, however version 6 introduced the option of using zlib compression. Version 13 introduced the option of using LZMA compression."

From Richard Entlich's article "Flash in the Pan or Around for the Long Haul?": "Flash traces its origins to a browser plug-in called FutureSplash, originally produced by a company called FutureWave, but purchased by Macromedia in 1996 and renamed Flash. At the time, Macromedia offered a Web plug-in called Shockwave that decoded several of its multimedia products, including Flash. Thus the MIME type for Flash is application/x-shockwave-flash and the file extension for binary Flash files is 'swf' for Shockwave Flash. Ultimately, Macromedia moved away from handling multiple content types with a single plug-in. Today, the Shockwave plug-in is only used to play content produced by Macromedia's Director, an older tool originally for developing interactive CD-ROM content but now also used for Web animation. The plug-in that plays back Flash content is called Flash Player. However, the term Shockwave Flash is still widely used (even by Macromedia), and is the source of much understandable confusion.

"Over the years, Flash has grown in power and popularity. It drew attention early for its ability to create animations that were fairly compact and fast-loading. Subsequently, Flash has become more sophisticated, with a powerful scripting language (called ActionScript) similar to JavaScript, and the ability to render a wide range of interactive Web site content. Recent versions of Flash can incorporate sound and video. Even though it is a vector graphic tool, Flash can incorporate raster graphics (i.e., bitmaps) . . . . Flash is prized by many developers for its ability to provide a visually rich and highly interactive user experience not easily achievable with other technologies."


Format specifications Explanation of format description terms


Useful references

URLs

1Flash documentation for version 7 does not state a number for "their" version of Sorenson but describes the codec as a variant of ITU-T (International Telecommunications Union) recommendation H.263 (See MPEG-4_V). In early 2006, one of Sorenson's compression applications to produce content for Flash offered the Sorenson_3 codec, described by experts as a variant of ITU-T H.264 (MPEG-4_AVC). By late 2006, Sorenson offered new compression applications with other outputs.


Last Updated: 05/24/2024