The code in a tag header says what the tag is. This is every code a ZWS movie can hold. A ZWS movie is SWF 13 or later, so every documented tag may appear in it, EnableTelemetry (SWF 19) in movies of SWF 19 and later; the SWF column gives the version the specification introduces each one in. Tags marked † are not in the SWF 19 specification: their names are the ones JPEXS and other tools use, and no source gives a version for them.
Codes
| Code | Name | SWF | Described in | What it is |
|---|---|---|---|---|
| 0 | End | 1 | Control tags | The end of the file or of a sprite’s tags |
| 1 | ShowFrame | 1 | Display list | Shows the frame built so far and starts the next |
| 2 | DefineShape | 1 | Shapes | A shape with up to 255 styles of each kind, RGB colours |
| 3 | FreeCharacter † | – | this page | Frees a character (early Flash) |
| 4 | PlaceObject | 1 | Display list | Places a character at a depth |
| 5 | RemoveObject | 1 | Display list | Removes a character from a depth |
| 6 | DefineBits | 1 | Bitmaps | JPEG data whose tables are in JPEGTables |
| 7 | DefineButton | 1 | Buttons | A button with actions on release |
| 8 | JPEGTables | 1 | Bitmaps | The JPEG tables shared by every DefineBits |
| 9 | SetBackgroundColor | 1 | Control tags | The stage colour |
| 10 | DefineFont | 1 | Fonts and text | Glyph outlines |
| 11 | DefineText | 1 | Fonts and text | Static text, RGB |
| 12 | DoAction | 3 | AVM1 actions | Frame actions |
| 13 | DefineFontInfo | 1 | Fonts and text | Name, style and character codes for DefineFont |
| 14 | DefineSound | 1 | Sounds | An event sound |
| 15 | StartSound | 1 | Sounds | Starts or stops a sound |
| 16 | StopSound † | – | this page | Stops all sounds (early Flash) |
| 17 | DefineButtonSound | 2 | Buttons | Sounds for a button’s state changes |
| 18 | SoundStreamHead | 1 | Sounds | The format of the streaming sound |
| 19 | SoundStreamBlock | 1 | Sounds | A frame of streaming sound |
| 20 | DefineBitsLossless | 2 | Bitmaps | A zlib bitmap, 8, 15 or 24 bits |
| 21 | DefineBitsJPEG2 | 2 | Bitmaps | A JPEG with its tables (PNG or GIF from SWF 8) |
| 22 | DefineShape2 | 2 | Shapes | Extended style counts, new styles in records |
| 23 | DefineButtonCxform | 2 | Buttons | A colour transform for DefineButton |
| 24 | Protect | 2 | Control tags | Asks authoring tools not to import the file |
| 25 | PathsArePostScript † | – | this page | Marks shapes whose paths follow PostScript rules |
| 26 | PlaceObject2 | 3 | Display list | Places or modifies, with flags |
| 27 | (not defined) | – | this page | Not in the specification |
| 28 | RemoveObject2 | 3 | Display list | Removes by depth |
| 29 | SyncFrame † | – | this page | Early Flash |
| 30 | (not defined) | – | this page | Not in the specification |
| 31 | FreeAll † | – | this page | Frees every character (early Flash) |
| 32 | DefineShape3 | 3 | Shapes | A shape with RGBA colours |
| 33 | DefineText2 | 3 | Fonts and text | Static text, RGBA |
| 34 | DefineButton2 | 3 | Buttons | A button with condition actions |
| 35 | DefineBitsJPEG3 | 3 | Bitmaps | A JPEG (PNG or GIF from SWF 8) with zlib alpha |
| 36 | DefineBitsLossless2 | 3 | Bitmaps | A zlib bitmap with alpha |
| 37 | DefineEditText | 4 | Fonts and text | A text field |
| 38 | DefineVideo † | – | this page | An early video definition, never documented |
| 39 | DefineSprite | 3 | Display list | A movie clip with its own timeline |
| 40 | NameCharacter † | – | this page | A character’s name (early Flash) |
| 41 | ProductInfo † | – | Control tags | The compiler that wrote the file (Flex) |
| 42 | DefineTextFormat † | – | this page | Early Flash |
| 43 | FrameLabel | 3 | Display list | A frame label (a named anchor from SWF 6) |
| 44 | (not defined) | – | this page | Not in the specification |
| 45 | SoundStreamHead2 | 3 | Sounds | Streaming sound format, any format |
| 46 | DefineMorphShape | 3 | Shapes | A morph between two shapes |
| 47 | (not defined) | – | this page | Not in the specification |
| 48 | DefineFont2 | 3 | Fonts and text | A font with codes, name and layout |
| 49 | (not defined) | – | this page | Not in the specification |
| 50 | (not defined) | – | this page | Not in the specification |
| 51 | (not defined) | – | this page | Not in the specification |
| 52 | (not defined) | – | this page | Not in the specification |
| 53 | (not defined) | – | this page | Not in the specification |
| 54 | (not defined) | – | this page | Not in the specification |
| 55 | (not defined) | – | this page | Not in the specification |
| 56 | ExportAssets | 5 | Control tags | Names characters for other files and ActionScript |
| 57 | ImportAssets | 5 | Control tags | Imports from another SWF (replaced by ImportAssets2 in SWF 8) |
| 58 | EnableDebugger | 5 | Control tags | Debugger password (SWF 5) |
| 59 | DoInitAction | 6 | AVM1 actions | Actions run once before a sprite is first used |
| 60 | DefineVideoStream | 6 | Video | A video character |
| 61 | VideoFrame | 6 | Video | A video frame |
| 62 | DefineFontInfo2 | 6 | Fonts and text | FontInfo with a language code |
| 63 | DebugID † | – | this page | A UUID matching a .swd debug file |
| 64 | EnableDebugger2 | 6 | Control tags | Debugger password (SWF 6 and later) |
| 65 | ScriptLimits | 7 | Control tags | Recursion depth and time-out |
| 66 | SetTabIndex | 7 | Control tags | Tab order |
| 67 | (not defined) | – | this page | Not in the specification |
| 68 | (not defined) | – | this page | Not in the specification |
| 69 | FileAttributes | 8 | Control tags | Flags for the whole file; the first tag from SWF 8 |
| 70 | PlaceObject3 | 8 | Display list | Class name, filters, blend mode, cache, visibility |
| 71 | ImportAssets2 | 8 | Control tags | ImportAssets for SWF 8 and later |
| 72 | DoABCDefine † | – (SWF 9 era) | ABC file | ABC with no flags or name (Flex 2 beta compilers) |
| 73 | DefineFontAlignZones | 8 | Fonts and text | Alignment zones for FlashType |
| 74 | CSMTextSettings | 8 | Fonts and text | Anti-aliasing settings |
| 75 | DefineFont3 | 8 | Fonts and text | DefineFont2 at 20 times the resolution |
| 76 | SymbolClass | 9 | Control tags | Links characters to ActionScript 3 classes |
| 77 | Metadata | 1 | Control tags | XMP (RDF/XML) |
| 78 | DefineScalingGrid | 8 | Display list | A 9-slice grid |
| 79 | (not defined) | – | this page | Not in the specification |
| 80 | (not defined) | – | this page | Not in the specification |
| 81 | (not defined) | – | this page | Not in the specification |
| 82 | DoABC | 9 | ABC file | ActionScript 3 code: flags, a name and an ABC file |
| 83 | DefineShape4 | 8 | Shapes | Edge bounds, LINESTYLE2, focal gradients |
| 84 | DefineMorphShape2 | 8 | Shapes | A morph with LINESTYLE2 |
| 85 | (not defined) | – | this page | Not in the specification |
| 86 | DefineSceneAndFrameLabelData | 9 | Display list | Scenes and frame labels |
| 87 | DefineBinaryData | 9 | Control tags | A binary blob for an ActionScript 3 class |
| 88 | DefineFontName | 9 | Fonts and text | A font’s name and copyright |
| 89 | StartSound2 | 9 | Sounds | Starts a sound by class name |
| 90 | DefineBitsJPEG4 | 10 | Bitmaps | JPEG3 with a deblocking parameter |
| 91 | DefineFont4 | 10 | Fonts and text | A CFF font for the Text Layout Framework |
| 92 | (not defined) | – | this page | Not in the specification |
| 93 | EnableTelemetry | 19 | Control tags | Allows Adobe Scout telemetry |
Undocumented and unknown codes
The tags marked † occur in real files, written by early versions of Flash,
Macromedia Generator, the Flex compilers and the Flash authoring tool itself, but the
specification does not describe them. The explorer names them and shows their
bodies as bytes, except three: ProductInfo (41), whose layout JPEXS and the Flex SDK’s
sources give; DebugID (63), 16 bytes, a UUID that matches the movie to the
.swd debugging file the Flash authoring tool writes beside it; and code
72, an ABC file with no flags or name, which it parses like DoABC.
The codes shown as “not defined” (27, 30, 44, 47, 49 to 55, 67, 68, 79 to 81, 85, 92) and any code above 93 are not in the specification. JPEXS gives names to a few of them, such as Generator and authoring-tool tags (DefineBehavior 44, GeneratorCommand 49); those are not confirmed here. The explorer shows such a tag as “Unknown tag N” with its bytes. The tag header always gives the length, so a reader can step over any tag it does not know.
Metadata (77) is listed by the specification as SWF 1, but it came in with Flash 8: it goes with FileAttributes’ HasMetadata flag, SWF 8 (an inference).