A free, open-source Animation suite based on OpenToonz and Next2Flash. Designed with continuity for Adobe Flash/Animate users
Very early alpha. Expect bugs and incomplete Flash/Animate import fidelity. Back up your work and report problems on GitHub or Discord.
Overview · Screenshots · Features · Install · Build · Architecture · Roadmap · Contributing · License
Flare is a community fork of OpenToonz reworked to
feel like Adobe Animate. It gives the Flash/Animate community a modern,
cross-platform home that reads existing .fla, .xfl and .swf projects with no
subscription and no dead runtime.
- Familiar UI - Animate-style workspace (Drawing / Animation / Rigging / Compositing rooms) and theme.
- Open your old work - native C++ import for the Flash/Animate file family; no Java or external runtime.
- OpenToonz power underneath - vector and raster levels, xsheet/timeline, plastic rigging, FX, rendering pipeline.
| Animate-style workspace | Timeline & rigging | Flash import |
|---|---|---|
| placeholder | placeholder | placeholder |
| Area | Status |
|---|---|
| Adobe Animate-style default workspace (OpenToonz and StudioGhibli rooms selectable in Preferences > Interface > Rooms) | Available |
| Vector + raster drawing, xsheet, timeline | Available (inherited) |
| Plastic/skeleton rigging, FX schematic, motion tracking, script console | Available (inherited) |
| Flash/Animate import (table below) | Shipped; fidelity improving |
| Next2Flash SWF round-trip + AS3 decompiler | Shipped as optional sidecar, see docs/NEXT2FLASH_INTEGRATION.md |
| Moho project support | Shipped: structure, rig, asset manifest (no rendering), see docs/MOHO_SUPPORT.md |
| Format | Extension | Status |
|---|---|---|
| Flash project (ZIP) | .fla |
Import (XFL extraction + parse) |
| XFL project | .xfl |
Import (directory or ZIP) |
| Compiled Flash | .swf |
Header + embedded bitmap extraction |
| Component library | .swc |
Catalog + embedded bitmaps |
| Flash Video | .flv / .f4v |
Raster level via FFmpeg |
| ActionScript | .as |
Imported as reference text |
| Legacy binary FLA (OLE2/CFBF, CS4 and earlier) | .fla, .fls |
Carved and read |
| Adobe AIR packages | .air, .ane, .oam |
Unpacked, assets gathered |
| Extension packages | .zxp, .mxp |
Unpacked, assets gathered |
| Shared libraries | .sol |
Unpacked, assets gathered |
| Compressed SWF | .swz, .ksk |
Same reader as .swf |
| ISO-BMFF video | .f4v, .m4v, .mp4 |
Detected; raster level via FFmpeg |
| Moho / Anime Studio project | .moho, .mohoproj, .anime, .animeproj, .anme |
Structure read; see below |
Format detection is by content, not by extension, so a .fla that is really a
SWF — or a SWF renamed to .zip — still opens. The detector recognises
uncompressed FWS, zlib CWS and LZMA ZWS, ZIP-backed XFL, the OLE2/CFBF
signature, and the ISO-BMFF ftyp box.
Moho: Flare reads a rig's structure — layers, bones, switch layers, keyframe
tracks, and the artwork it references — and writes a manifest. It does not
render the rig; reproducing Moho's skeleton solve, region-weight deformation and
Smart Bones is a much larger project than reading the file, and
docs/MOHO_SUPPORT.md explains why.
Complex documents will not round-trip cleanly yet. Details and limits:
docs/FLASH_SUPPORT.md, docs/how_to_import_swf.md.
Tracking issues: #16, #47.
Nightly builds are published on every push to master:
Latest nightly release
| Platform | Asset | Requirements |
|---|---|---|
| Windows | Flare-Windows-Portable-nightly.zip |
Windows 10/11, 64-bit |
| Linux | Flare-x86_64.AppImage |
x86_64, glibc 2.35+ (Ubuntu 22.04+) |
| macOS | Flare.dmg |
macOS 13+ Intel (Apple Silicon via Rosetta 2) |
Pre-release builds may be unstable. Optional: install FFmpeg on PATH for
.swf/.flv/.f4v playback (Flash import itself needs no external tools).
macOS first launch. Flare is not notarized. If macOS reports the app as "damaged", clear the quarantine flag once:
xattr -dr com.apple.quarantine /Applications/Flare.appLinux. If the app exits with "Could not locate Flare's stuff folder", set
FLAREROOT to the installed stuff directory, e.g.
export FLAREROOT=/usr/share/flare/stuff. The AppImage finds it automatically.
Requires CMake 3.10+. Building is memory-intensive; limit parallel jobs on low-RAM machines.
cmake -S flare/sources -B build -G "Ninja" -DCMAKE_BUILD_TYPE=Release
# <4GB RAM: -j1 | 4-8GB RAM: -j2 | >8GB RAM: --parallel
cmake --build build -j2Platform guides: Windows · macOS · Linux · BSD
| Path | Purpose |
|---|---|
flare/sources/ |
Application and libraries (C++/Qt, CMake): toonz core, UI, Flash import |
flare/sources/common/flash/ |
Format readers: SWF, XFL/FLA, ZIP, shapes, optional AS3 bridge |
flare/sources/common/moho/ |
Moho (Lost Marble) project reader |
flare/sources/common/tgame/ |
Game engine: entity-component-system, fixed-timestep loop, systems |
flare/sources/common/*/rust/ |
Rust backend (flare_formats): modules beside the C++ they port, manifest at flare/sources/Cargo.toml, |
tools/flash/next2flash/ |
Optional Python sidecar for ActionScript decompile / string patch / compile |
stuff/ |
Runtime data: rooms, profiles, brushes, FX presets |
thirdparty/ |
Bundled third-party libraries |
plugins/ |
Plugin SDK and samples |
packaging/ |
Installer / AppImage / DMG packaging |
ci-scripts/, scripts/ |
CI and developer helper scripts |
tests/, tools/ |
Test suites and utilities |
docs/ |
Build guides and design docs |
Dev tip: python scripts/log_watcher.py tails build *.log files (VS Code task "watch logs", Ctrl+Shift+B).
python tests/run_all.py # everything: pytest, native C++, Rust, fixturesIndividual suites, useful while iterating:
python tests/native/run_tests.py # native C++ readers and updater
python -m pytest tools/flash/tests -q # Flash bridge and format fixtures
cargo test --workspace --manifest-path flare/sources/Cargo.toml
python tests/check_issue_fixes.py # which open issues have code answering themtests/native/run_tests.py finds Qt on its own, so QT_BIN need not be exported.
Pass --no-local-src to link the tests against the built DLLs instead of
compiling the checked-out sources — that path is what catches export/ABI mistakes,
and it needs a freshly built tnzcore and flareqt.
Goal: a C++/Rust successor to Flash / Adobe Animate (CS6-era workflow plus later Animate features), built on OpenToonz.
Status is honest: each row states what is in the tree, not what is intended.
| Feature | Status |
|---|---|
Flash/Animate import — .fla .xfl .swf .swc .flv .f4v .as, plus CFBF legacy .fla, AIR/ZXP/MXP/ANE packages |
Shipped; fidelity improving |
| Moho project import | Shipped: structure, rig and asset manifest. Rendering not implemented (doc) |
| Next2Flash SWF round-trip, AS3 decompiler | Shipped as an optional sidecar: decompile, string patch, compile (doc) |
| Beginner-friendly (FlipaClip-style) layout profile | Shipped: Preferences > Interface > Rooms > FlipaClip |
| Game-creation tooling | Scaffolded: flare/sources/common/tgame — ECS, fixed-timestep loop, sprite/physics/script/audio/camera/particle/UI systems. Not yet wired into the UI |
| Rust backend | Shipped in part: flare_formats does content-based format sniffing over a C ABI. Always built (via Corrosion) |
| Android build | Scaffolded: flare/android (Gradle + Qt activity). Not yet building an APK |
| Windows installer EXE | NSIS script shipped (packaging/windows/installer.nsi) |
| Peer-to-peer remote control | Protocol and tests only (remote_protocol_tests); no transport |
| Auto-update | Shipped: release check, SHA-256 verification, download (flareupdater.cpp) |
| User-editable UI layouts, submittable as a PR | Rooms are plain .ini under stuff/profiles/layouts/rooms/; add a directory and it appears in the room list |
Reference projects: JPEXS decompiler, Ruffle, swf2js, Citrus Engine, Adobe Flash Simple Game Engine, as3mxml. Licences are preserved wherever code is ported; see LICENSE.txt.
Contributions are welcome. See CONTRIBUTING.md.
- Discord: https://discord.com/invite/JpeScW8Awa
- Website: https://flare-animate.github.io/website/
- Discussions: GitHub Discussions
- Bugs: GitHub Issues
Flare stays compatible with OpenToonz where possible; keep upstream licensing and attribution intact.
Files outside thirdparty/ and stuff/library/mypaint brushes/ are under the
Modified BSD License. Third-party components keep their original
licenses (see thirdparty/ and stuff/library/mypaint brushes/Licenses.txt).
Flare is a fork of OpenToonz (DWANGO; based on Toonz by Digital Video / Studio Ghibli).
