About JPEXS Free Flash Decompiler
JPEXS Free Flash Decompiler (FFDec) is opensource flash SWF decompiler and editor. Extract resources, convert SWF to FLA, edit ActionScript, replace images, sounds, texts or fonts. Various output formats available. Works...
JPEXS Free Flash Decompiler (FFDec) is opensource flash SWF decompiler and editor. Extract resources, convert SWF to FLA, edit ActionScript, replace images, sounds, texts or fonts. Various output formats available. Works with Java on Windows, Linux or MacOS.
Key Features:
- Exporting scripts, images, shapes, movies, sounds, fonts...
- SWF to FLA conversion
- SWF to XML export and import again
- Various output formats like SVG or HTML5 Canvas
- Displaying ActionScript source code.
- Experimental direct editing of ActionScript source
- Editing via assembler source
- Integrated ActionScript debugger - step, breakpoints, set variables
- Both ActionScript 1/2 and AS3 support
- Clicking decompiled source highlights P-code associated instruction and vice-versa
- Replacing images, editing texts, fonts and other tags
- Displaying SWF resources (shapes, sprites, fonts, buttons...)
- Hexadecimal dump view with color hilighting also available
- Java based code which supports multiple platforms
- Multilanguage support (see language list)
- Can decompile some kinds of obfuscated code too
Previous Versions
Here you can find the changelog of JPEXS Free Flash Decompiler since it was posted on our website on 2015-04-26 03:00:00.
The latest version is 24.1.2 and it was updated on 2026-06-18 03:08:15. See below the changes in each version.
JPEXS Free Flash Decompiler version 24.1.2
Updated At: 2026-01-31
Changes: ### Added
- #2581 Save as SWC through context menu of SWF files (previously only in CLI)
- Save as EXE through context menu of SWF files (previously only in toolbar)
- Slovenian translation
- SVG export - video frames
- #2592, #2154, #2591, #2596 - Better handling of antialias conflation artifacts (by scaling),
can be enabled in Advanced Settings / Display and Export.
- #2608 Updated WEBP image library so now it supports macOS x64
- [PR228] Association with `.swc` extension
- Association of file extensions in Windows setup (again)
### Fixed
- #2570 NullpointerException on SVG export of DefineEditText
- #2570 ClassCastException on exporting sound head (export all command)
- #2571 SVG export - StackOverflow for DefineVideoStream
- #2575 dumpSWF CLI command displayed import assets GUI dialog
- #2573 AS3 - Incorrect uint/int/Number coercion
- AS3 local registers type propagation
- #2566, #2594 Export bounds of sprites and buttons not containg filter offsets
- #2582 Font normalizer setting small texts when no assigned glyph found
- PDF export - not rendering video stream frames
- #2585 AS1/2 direct editation - continue and break in for..in loop
- #2589 SVG export - subsprite animation, sprite offsets
- #1893 Video - incorrect frame size
- #2572 SVG import - incorrect stroke width when transform contains rotation/shear
- #2595 FLA export - incorrect handling of imported fonts
- FLA export - incorrect handling of imported sprites
- #2586 AS3 direct editation + decompilation - XML escape sequences and other XML problems
- #2600 Sprite/button outline incorrect calculation caused by clipping
- #2612 SVG export - handle incorrect surrogate pairs in text
- #2612 SVG export - problems with retain shape bounds setting
- #2609 JDK 25+ warnings on console about native access
- #2473, #2530 Always-break loops containing breaks (forward gotos)
### Changed
- #2575 dumpSWF CLI command only allows single SWF dump (no imports, etc.)
JPEXS Free Flash Decompiler version 24.1.1
Updated At: 2025-11-17
Changes: ### Added
- AS3 Document class is underlined and has different icon
- #2556 CLI subsprite animation export (`-sublength ` option for export)
- #2556 CLI option to select arbitrary frames of sprites export via `-select`.
Check `--help -select` for details.
### Fixed
- #2536 AS3 switches detection incorrectly replaces basic ifs with strict equals
- #2536 AS3 switches detection not handling loops
- #2536 AS3 regexp highlighting / compilation
- #2537 AS1/2/3 direct editation - partial object literal causing lag
- #2540 AS3 getlocal after inclocal with different registers incorrectly merged
- [PR224] Font CLI replace throwing NullPointer
- #2546 AS3 findProperty vs temporary registers
- #2547 SVG import - improper linearGradient with userSpaceOnUse gradient units
- #2545 FLA export - normalize font em square
- #2552 Open with FFDec explorer menu shrinking sidebar
- #2551 Showing too wide video tags in Flash player producing ValueTooLarge
exception. Also truncated video length.
- #2550 FLV video import - incorrect frame position caused by wrong FLV tag sort
- Mac package problems related to BOM file (updated jbomutils library)
- #2561 Cannot set filter strength to 128 or above
- #2562 ABC explorer not working in some obfuscated code
- #2562 P-code not showing in some obfuscated code (NumberContext related)
### Changed
- Simple editor uses percent as units for filter strength
### Removed
- Resampling from CLI and all source code
- #2541, #2564 Antialias conflation fixer
JPEXS Free Flash Decompiler version 24.1.0
Updated At: 2025-09-28
Changes: ### Added
- #2477 Option to disable AS2 detection of uninitialized class fields
- AS2 detection of uninitialized class fields is cancellable, faster (parallel)
and shows its progress
- AS2 - show deobfuscated class/package names in the class tree
- Allow obfuscated DefineEditText variable identifiers
- Selectable text (DefineEditTexts with noselect=0), copy to clipboard, select all
- AS1/2 P-code curly braces pair highlighting
- #2478 Simple editor - editing texts (not WYSIWYG, textual as in classic editor)
- #2478 Simple editor - remembering last frame / timeline
- Optional heap memory status widget in the titlebar
- #2485 Show variable name in the text tree node label
- Deobfuscate identifiers option - non destructible renaming identifiers for display purposes
- Unknown and errored tags moved to special folders
- AS3 docs generator - reorganized to distinguish float and float 4 instructions,
hilight float instruction blue
- Icons for every tag type
- #2499 Information about frames which do not have ShowFrame tag
- #2504 WebP image format for export/import (not animated)
Limitation: It's not available on Mac x86-64 platform
- #2519 AS1/2 Direct editation + P-code - better handling of "too large"
error messages - highlight actual problematic structure
- AS1/2 Debugging - _global variable accessible
- AS Debugging - Variables with flag DontEnumerate are hidden by default
(can be changed in Advanced Settings)
- Basic support for PlaceImagePrivate tag
- Generator Templates (.swt) files support and related tags (Flash 3-5)
(CharacterSet, GenCommand, NameCharacter, DefineTextFormat, FontRef)
- DefineVideo tag support (Flash 4)
- SerialNumber tag support (before Flash 7)
- FreeCharacter tag support
- SyncFrame tag support
- Hex dump improvements:
- view bit count in SB, UB fields
- view tagIDTagLength field parts
- show type after colon, not in parenthesis
- view bytes length in bytes fields
- #2526 Option to disable drag & drop from Resources view to avoid problems on Mac OS
- #2497 AS3 - temp variables for better handling swap/dup instructions
- #2529, #2471 Font normalization
- available as context menu command on SWFs
- automatically executed on PDF/SVG export
- shrinks oversized fonts to 1024 em
- fixes vertically flipped fonts / texts
- fixes zero/1unit spaces font glyph advance
- fixes zero last glyph advance in texts
- [PR222] Replace fonts from commandline
- #2534 Create new GFX tags of type DefineExternalGradient, DefineGradientMap,
ExporterInfo, FontTextureInfo, DefineExternalStreamSound
### Fixed
- #2474 Gotos incorrectly decompiled
- AS1/2/3 highlighter - brackets parsing error causing memory leak / crash
- Comments color highlighting
- AS1/2 Obfuscated registers names not resolving because of trimming
- Escaping HTML in raw tag editor
- Flash player preview not stripping scripts from DefineSprites
- Not clearing selected depth after timelined change
- #2480 AS1/2 P-code decompilation of try..catch with empty catch body at the end of function
- #2477 AS1/2 deobfuscation - and/or operators, jumps before function start,
jumps to function end, jumps in for..in return/break
- #2477 AS1/2 Switch in last statement of switch break labels
- #2338 AS1/2/3 Obfuscated code - jump to jump handling
- #1277 AS1/2 Propagate break/continue to avoid loop/switch labels
- #2483 Editing shape gradient records - RGB vs RGBA
- #2486 AS Loop in loop producing gotos in some cases
- #2486 AS1/2 Switch after function, problem with labels
- #2486 AS ifs with direct breaks (in obfuscated code)
- #2486 AS3 skipping label instruction
- Highlighter nullpointer
- AS3 search slot name Index out of bounds
- AS text search - not being able to cancel search over multiple swf files
- #2486 AS3 switches detection in some cases
- AS1/2 Hide icons panel when editing
- AS1/2 both pcode and AS editable at the same time
- AS3 direct editation - Allow some special words (like `override`) as identifiers
- #2486 AS1/2 if jump to function end as return
- #2493 Incorrect placement of §§push instructions
- AS3 direct editation/highlighter §§pop in class traits
- AS direct editation/highlighter §§pop and §§dup can have getmember or call
- #1295, #116 AS3 dynamic construction via MultinameL
- ABC cleaner not properly fixing namespace sets
- The hex view does not display bytes if there are too few of them
- SymbolClass export/import did not support obfuscated names
- Configuration TOML file encoding (UTF-8)
- #2496 Fonts - adding characters - truncating too wide advance widths
- #2498 Public traits with same name were not distinguishable
- #2503 Exporting sound streams as FLV
- #2507 FLA export - Button hit test frame placing morphshapes
- #2507 FLA export - Place characters over multiple button frames
- #2508 AS1/2 direct editation - first command in for loop header not compiled
- #2510 AS direct editation - popped value
- #2511 Allowing to search or to jump from search window while in editation mode
- #2515 AS1/2 direct editation - getURL incorrect casing, generating ActionGetURL2 when not needed
- AS1/2 actions must use SWF charset when writing its length
- #2515 AS1/2 Most of built-in global functions must be case in-sensitive
- AS1/2 ActionStringExtract incorrectly decompiled as String.substr instead of substring global function
- #2516 AS1/2 Renaming of identifiers not setting function length correctly
- AS1/2 Renaming of identifiers must not rename integer array offsets
- #2517 Loop break detection problems in some cases
- #2519 AS1/2 avoid multi-level loops in cases where possible
- #2522 Hex view - resetting view when mouse over panel bottom
- #2519 AS1/2 direct editation - generating too large ConstantPool
- Hex View - incorrect table height when switching tags
- #2525 AMF editor (like in Sol cookie editor) - saving empty standard array `[]`
- AS3 - names with custom namespaces not being deobfuscated
- AS Debugger - order of trace commands
- AS1/2 print/printNum/printAsBitmap/printAsBitmapNum not correctly
handling bmovie boundingBox parameter
- Font export - not setting ascent and descent
- #2471 PDF export - ignore control characters
- #2471 SVG export with typeface - white-space:pre style
- #1826, #2416 FLA export - shapes - missing fills when fillStyle0/1 has incorrect orientation
- #2532, #1011, #2165 FLA export - shapes - missing fills on path crossings, small shapes,
Optimized speed of Shape fixer
### Changed
- Icon of "Deobfuscation options" menu from pile of pills to medkit
- Error log window shows last 100 log entries (instead of first 100)
- AS1/2 P-code double Push values have suffix ".0" to properly distinguish them
- AS1/2 P-code float Push values have suffix "f" to properly distinguish them
- AS1/2: Export names are deobfuscated only when start with `__Packages.`,
if not, then classical escaping is performed
- Quotes in tree node parameter values that need them
- The label of option "automatic deobfuscation" changed to "deobfuscate code"
- SetTabIndex tag moved from others to frames folder
- SWF3 actions split into SWF1, SWF2 and SWF3 actions (in FFDec source code, docs, etc.)
- Serial form of AS3 search results changed so the decompiler is unable to read
saved AS3 search result from older versions and vice-versa
- CSMTextSettings tag renamed to CSMSettings
### Removed
- Resample wav to 44kHz feature from GUI
JPEXS Free Flash Decompiler version 24.0.1
Updated At: 2025-06-27
Changes: ### Fixed
- #2476 Dark interface skins identifiers highlighter visibility
JPEXS Free Flash Decompiler version 24.0.0
Updated At: 2025-06-24
Changes: ### Added
- "Starting Flash content debugger" in status bar when debugging starts
- Simple editor - edit parameters of items inside buttons
- Simple editor - add/remove frames in buttons, button timeline header
- Configuration is now stored in easily readable/editable textual format (TOML)
(saved also to older binary format, but loading is preffered from
the new TOML file, when exists)
- `-configFile` and `-storeConfigFile` commandline parameters for loading/storing configuration file
- Option to .bat and .sh file to enable J2D_D3D_NO_HWCHECK
- #2404 Quick find in text/script editors - show number of occurences
- #1418 Option to make main window Always on top
- #289 Support for Aero Snap on Windows
- #2412 Show coordinates on stage mouse move for up to 2 decimal places
- "Show detail" context menu item for items in folder preview
- #1682 AS2 - Adding class by context menu on packages
- Simple editor - detection of english color name (based on CSS names)
- #2050 AS1/2/3 - highlight variable definition and all its instances on cursor place
(also in edit mode)
- AS1/2/3 - underline errors in the code (also in edit mode)
- AS1/2/3 - highlight variables and errors on panel next to vertical scrollbar
- AS1/2 direct editation - hide P-code panel when editing
- Disable AS1/2/3 direct editation when editing P-code
- AS3 - navigation to definition in other SWF file and also player/airglobal
- #2463 Export subsprites animation context menu on frames
- Open in the Flash Player context menu on graphic/sound tags and frames
- #2236, #2451 Replacing sound stream block ranges
- Importing sound stream block ranges
- Commandline replacing sound stream block ranges
- #1625 Error log frame - Save all to file button
- #2467 Show ImportAssets name/characterId in the title when there is only single one item
- #2468 Option for `-dumpas2` CLI command to use export names (`-exportNames` option)
- AS3 - code completion (properties and methods)
- #2470 Transformation - Copy individual transforms to clipboard,
load/apply from clipboard buttons
- Option to turn off code completion on dot(.) key
### Changed
- AS1/2 - Single DoAction tag inside frame is now displayed directly as frame node
so there is no longer need to expand frame nodes (useful for fast switching scripts)
- AS1/2 - Scripts from default package (not these inside `__Packages`) are now
exported/imported to/from main scripts folder instead of localized ` ` before.
(Only happened when package flattening was on)
This may break backwards compatibility. For importing scripts from older
versions of FFDec, you should move the scripts from ` `
to main scripts folder.
- SWF to XML export in GUI dialog selects a XML file instead of directory
(and directory when multiple SWFs are selected)
### Fixed
- #2456 FLA export - NullPointer exception while exporting to CS4 or lower via commandline
- Touch point, snap align and snap to objects incorrect position when editing nested layers
- Resize export dialogs labels to match localized strings
- AS1/2 debugger - deletion of SWD file after debugging
- Proper freeing memory after SWF close
- AS1/2 improper selection of search result
- #2459 AS1/2 StoreRegister improper declaration position
- AS2 Class names not showing in Folder list view
- AS1/2 - Incorrect DefineFunction2 parameter names when parameter name is empty
- #2460 SVG export - incorrect caching colorTransform and ratio for the same tag
- #2461 SVG export - incorrect clipping / missing shapes
- AS1/2 direct editation - Position in the code should stay same after clicking Edit button
- AS3 direct editation - Allow internal keyword on script traits (e.g. classes)
- AS3 direct editation - NaN can be used as identifier
- Pin header for AS2 script in the Resources view should show Class name in
the title instead of tag full description
- AS1/2/3 for decompilation with multiple variables
- AS3 native functions outside class allowed
- AS3 difference between namespace keyword and const of type Namespace
- #2462 AS3 debugger - incorrect line info injected
- #2464 SVG export - minimum stroke width of 1 px
- #2405 Incorrect saving tags after Cloning / Copy-pasting
- #1646 Scrolling in Error log frame inside log texts
- JLayer stripping last byte of MP3 data
- #2469 Converting shape type did not convert gradient colors transparency
- #2470 Transform - paste matrix, edit current matrix not working
- Do not allow to switch PlaceObjects in transform mode
- #2471 Clipping - multiple clips handling, in display and also SVG export
- #2471 SVG Export - exporting with font-face - text tags with multiple texts,
fix invalid family names, incorrect text size
- Replacing existing characters in a font which has character codes unsorted
- #2475 SVG Import - ignoring gradients caused by missing offset attribute of stop element
- Not saving library type (airglobal/playerglobal) when switching SWFs
JPEXS Free Flash Decompiler version 23.0.1
Updated At: 2025-05-16
Changes: ### Fixed
- Nullpointer exception during SWF opening when Simple editor is active
JPEXS Free Flash Decompiler version 22.0.2
Updated At: 2025-01-17
Changes: ### Added
- FLA export - accessibility for AS3 files
- #2375 Sound sync event/start/stop handling (for playback in FFDec)
- #2374 Quick filter by folder type (Ctrl+F on Resources view tag tree)
- #2389 Support for SPL file extension (Flash version 1 - Future Splash Animator)
### Fixed
- #2375 Added limit of simultaneously played sounds
- AS1/2 - Push action hilighting, GetProperty, Call action hilighting
- #2381 Font color values with alpha allowed in html edittext, but alpha ignored
- #2384 Vanishing pins on AS3 code editing save, on script deletion and few other cases
- #2394 Broken AS1/2 deobfuscation on incorrect length of ActionStrictMode,
- #2394 AS1/2 ActionStrictMode with mode larger than 1 now ignored
- #2393 AS1/2 ActionGotoFrame2 P-code trailing comma
JPEXS Free Flash Decompiler version 22.0.1
Updated At: 2024-11-20
Changes: ### Added
- AS3.1 null-conditional operator `?.` (air - swf version 50)
- AS3.1 nullish coalescing operator `??` (air - swf version 50)
- AS3 direct editation - verbatim strings `@"`
### Fixed
- #2366, #2367, #2372 Running simple editor on background slowing down other views
- Rendering now does not slow down UI elements
- Using faster variant of blur
JPEXS Free Flash Decompiler version 22.0.0
Updated At: 2024-11-10
Changes: ### Added
- Simple editor view - new simplified UI based on timeline view,
which resembles Flash Pro UI. Easier moving objects,
resizing, adding frames, adding objects to stage. Instance property editation.
Undo / redo feature. Double click movie clips to edit sub-objects.
- #1619 Option to set thread count to 0 for auto setting processor count - 1
- #2360 SOL file (Flash Local Shared Object - flash cookie) editor
- Cookies folder to easy edit NPAPI SOL files (only cookies in the swf root directory)
- Link to FFDec Wiki on the Help menu
- On Run/Debug SWF file in FFDec, Flash cookies (SOL files) are synced
from temporary SWF directory to actual SWF SOL directory
### Fixed
- #2357 AS3 instance var/const initialization
- #2361 Transform tool for PlaceObject tags
- #2357 FLA export letterspacing on two character texts
- #2357 FLA export to CS4 and lower - files exceeding 0x7FFF objects limit
- #2357 FLA export to CS4 and lower - speed optimization
- #2362 Generating error log ExecutionException - InterruptedException log on switching flash/air swc
- Buttons were not active where they should be
### Changed
- #1619 Default thread count is set to 0 ( = auto)
- AMF3 (new AMF0 aswell) references and "undefined" values written as JSON objects
JPEXS Free Flash Decompiler version 21.1.3
Updated At: 2024-10-29
Changes: ### Fixed
- Java 8 compatibility
Disclaimer
External Download
We do not host JPEXS Free Flash Decompiler on our servers. We did not scan it for viruses, adware, spyware or other type of malware. This app is hosted by the software publisher and passed their terms and conditions to be listed there. We recommend caution when installing it.
The external download link for JPEXS Free Flash Decompiler is provided to you by apps112.com without any warranties, representations or guarantees of any kind, so access it at your own risk.
If you have questions regarding this particular app contact the publisher directly. For questions about the functionalities of apps112.com contact us.