The project's README from github.com/storytold/effectcraft. As one markdown file: README.md.
Motion graphics and visual effects; an open-source, clean-room reimplementation of Adobe After Effects, rebuilt in pure Rust.
A free, open-source compositor in the spirit of After Effects: compositions, layers, keyframes, 306 effects, layer styles, expressions, 3D cameras and lights, and a render queue, native on macOS, Windows and Linux, and in the browser. Young, moving fast, and already usable.
EffectCraft on getartcraft.com · ArtCraft · All Crafting Apps
[!NOTE] ArtCraft is a community of artists from all walks of life. Digital, generative, music, games — if you make things, you're one of us. Come say hi on Discord.
What it is · Animate · Effects · 3D · Export · Agents · Get started · Status · How it's made · Downloads · The Crafting Apps · License
EffectCraft is for animated titles, motion graphics and compositing work: the kind of thing people reach for After Effects to do. You build a composition out of layers (solids, shapes, text, footage, other compositions), animate their properties with keyframes, stack effects on them and render the result.
The aim is to feel familiar to anyone who has used After Effects, with the same panels (Project, Composition, Timeline, Effect Controls, Effects & Presets) and the same keyframe behaviour, and then to go further in a few places where it matters to us:
.ecproj), so they diff cleanly
in version control.The panels, menus and shortcuts follow After Effects, so your muscle memory carries over: Project, Composition, Timeline, Effect Controls, Properties, Effects & Presets, Character, Paragraph, Align, Info, Preview, Audio and the Render Queue, docked the way you expect. Drag footage, comps and effects between them: onto the comp viewer, where they land under the pointer, or into the Timeline, between layers and at the time you point to.
wiggle, loopOut,
thisComp.layer("…"), vector maths on arrays), an inline editor and the pick-whip.
306 effects (every one of After Effects' 298, and more) across its categories, each with its parameter names, order and defaults: blur and sharpen, channel, color correction (Curves, Levels, Hue/Saturation, Lumetri Color…), distort (Warp, Bulge, Turbulent Displace, CC Power Pin…), generate (Fractal Noise, Gradient Ramp, Stroke, Write-on, Audio Spectrum…), keying, matte, noise and grain, perspective, simulation (CC Particle World, CC Rainfall, Shatter, Card Dance, Caustics, Wave World…), stylize (Glow, CC Glass…), time (Echo, Posterize Time, Timewarp, Time Displacement…), audio (Reverb, Parametric EQ, Delay, Stereo Mixer…), text, transitions, utility and expression controls. All nine Layer Styles (Drop Shadow, Inner/Outer Glow, Bevel and Emboss, Satin, overlays, Stroke) with Global Light. Preview plays audio in sync, with meters and waveforms.
Classic 3D the way After Effects does it: 3D layers with orientation and material options, one- and two-node cameras with depth of field, lights (parallel, spot, point, ambient) with soft ray-traced shadows, layers that intersect correctly, orbit, pan and dolly camera tools, and Front, Top, Left and Custom views.
A Render Queue like After Effects', with Render Settings and Output Modules: H.264 MP4 and ProRes MOV (Proxy to 4444 XQ with alpha) with audio, HEVC (Main / Main 10) and AV1 MP4, WebM (VP9 with inter frames and alpha, or AV1; Opus audio), PNG, JPEG, TIFF and 32-bit EXR sequences, animated GIF and WAV/AIFF. Field rendering with 3:2 pulldown, effect/solo/guide/depth overrides, crop, region of interest and resize, Render Settings and Output Module templates with defaults, post-render actions, storage overflow and render logs. The same queue runs from the command line. Every encoder is pure Rust (FilmCraft's H.264, ProRes and AAC; EffectCraft's own VP9, AV1, HEVC and Opus); there is no FFmpeg inside.
Lottie goes both ways: File ▸ Export ▸ Lottie JSON… writes a composition (precomps, shape,
solid, image, text and null layers, eased and spatial keyframes, masks, track mattes, blend
modes, time remapping, optionally expressions) as .json or .lottie, and lists anything Lottie
cannot express; File ▸ Import ▸ Lottie… opens one as a new composition.
Everything you can do from a menu is a command with an id, and agents can reach every one of them:
effectcraft-cli mcp speaks the Model Context Protocol over stdio, headless
or bridged to the running app (--bridge 9877). Tools cover commands, the project and property
tree, keyframes and rendered frames. This repository ships a ready .mcp.json.effectcraft-cli set Main '#1' transform/position '[100,360]' --time 0 main.ecproj --save
or effectcraft-cli render --comp Main --out main.mp4, or
effectcraft-cli exec file.exportLottie '{"comp":"Main","path":"main.json"}' main.ecproj.effectcraft --control 9877 accepts JSON lines to run commands, inspect
and click any widget by its automation id, and take screenshots.See docs/agents.md and docs/control-protocol.md.
Installers for each version are on the Releases page: a universal macOS app; Windows MSIs and portable zips for x64, x86 and ARM64; Linux AppImage, Flatpak, deb, rpm and tar.gz for x86_64 and aarch64, plus a riscv64 tar.gz; a FreeBSD x86_64 tarball; and the web build. Downloads lists every file. The Windows ARM64 build runs natively on Windows on ARM, without x64 emulation. CI installs that MSI on Windows 11 ARM64 hardware, checks both programs are ARM64 and runs the command-line tool there, but it doesn't open the app's window or run the test suite natively on ARM64 yet, so please report anything that behaves differently.
On Gentoo, the community ::snakebyte overlay packages
the Linux release as media-video/effectcraft-bin (not maintained by the EffectCraft team):
eselect repository add snakebyte git https://github.com/switch87/snakebyte-overlay.git
emaint sync -r snakebyte
echo 'media-video/effectcraft-bin ~amd64' >> /etc/portage/package.accept_keywords/effectcraft
emerge --ask media-video/effectcraft-bin
To build it yourself you need Rust 1.95 or newer.
git clone https://github.com/storytold/effectcraft
cd effectcraft
cargo run --release -p effectcraft # the app (add `-- --demo` to open the demo project)
cargo run --release -p effectcraft-cli -- render --out intro.mp4 # render the demo headless
cargo xtask web --serve 8765 # the browser build on http://127.0.0.1:8765/ (docs/web.md)
New to it? docs/footage.md covers importing footage and image sequences and Interpret Footage.
To work on it: cargo test --workspace, and cargo xtask ci before every commit (format, lints,
tests, layering, asset attribution and the WebAssembly build). See CONTRIBUTING.md,
docs/architecture.md and docs/testing.md.
EffectCraft is young: its first commit was on 1 October 2026. Nearly every After Effects feature exists, including all of its effects, but existing is not the same as behaving exactly like After Effects, and we haven't measured that yet. Today it's a good place to try things and to tell us what breaks. It isn't yet a replacement for After Effects on client work. In particular:
.ecproj, readable versioned
JSON, but EffectCraft can't open .aep / .aepx files, and After Effects plug-ins don't run.EffectCraft is in alpha: about 91% of After Effects' features exist, and we estimate it is about 45% of the way to replacing After Effects for professional work. The ROADMAP has the plan, docs/target-app-parity.md the measurement and docs/gaps.md every known shortfall. The web build (docs/web.md) runs the full app in the browser. Bug reports are the most useful thing you can send us right now.
New to EffectCraft? Download it from the EffectCraft page on getartcraft.com. That's the easiest way to install it.
Want a specific build or format? On GitHub, the latest release has every build listed below, and all releases has earlier versions and their notes. <ver> in the file names is the version number, and SHA256SUMS.txt lists a checksum for every file.
| Build | Installer | Portable |
|---|---|---|
| x64 (64-bit Intel/AMD) | effectcraft-<ver>-windows-x64.msi |
effectcraft-<ver>-windows-x64-portable.zip |
| arm64 (Snapdragon and other ARM PCs) | effectcraft-<ver>-windows-arm64.msi |
effectcraft-<ver>-windows-arm64-portable.zip |
| x86 (32-bit) | effectcraft-<ver>-windows-x86.msi |
effectcraft-<ver>-windows-x86-portable.zip |
Installers and executables are code-signed. The installer asks where to install EffectCraft
(Program Files by default), and later versions install into the same folder. To install silently
into a folder of your choice: msiexec /i effectcraft-<ver>-windows-x64.msi /qn INSTALLFOLDER="D:\Apps\EffectCraft".
| Build | File | Notes |
|---|---|---|
| App, universal (Apple silicon + Intel) | effectcraft-<ver>-macos-universal.dmg |
Signed and notarized |
| Command-line tool, universal | effectcraft-cli-<ver>-macos-universal.zip |
Signed and notarized |
| Format | x86_64 | aarch64 (ARM64) | Notes |
|---|---|---|---|
| AppImage | effectcraft-<ver>-linux-x86_64.AppImage |
effectcraft-<ver>-linux-aarch64.AppImage |
Runs anywhere; updates itself with AppImageUpdate (.zsync files) |
| Flatpak | effectcraft-<ver>-linux-x86_64.flatpak |
effectcraft-<ver>-linux-aarch64.flatpak |
Sandboxed; flatpak install --user <file> |
| Debian/Ubuntu | effectcraft-<ver>-linux-x86_64.deb |
effectcraft-<ver>-linux-aarch64.deb |
|
| Fedora/RHEL/openSUSE | effectcraft-<ver>-linux-x86_64.rpm |
effectcraft-<ver>-linux-aarch64.rpm |
|
| Tarball | effectcraft-<ver>-linux-x86_64.tar.gz |
effectcraft-<ver>-linux-aarch64.tar.gz |
Unpack anywhere |
RISC-V 64-bit: effectcraft-<ver>-linux-riscv64.tar.gz (tarball only; needs glibc 2.39+, e.g. Ubuntu 24.04+ or Debian 13+).
File drag-and-drop on Linux: The current eframe/winit 0.30 native Wayland backend does not
deliver file-hover or file-drop events. On Hyprland and other native Wayland sessions, use
File ▸ Import ▸ File… (which accepts multiple files), or start EffectCraft via XWayland if
XWayland is installed and DISPLAY is set:
env -u WAYLAND_DISPLAY effectcraft
When the backend delivers events (X11/XWayland, Windows and macOS), dropping media anywhere in the window imports it, and a drop-target hint appears while hovering. On native Wayland the app cannot detect an attempt that generates no event; it shows a startup notice with the File ▸ Import fallback instead.
| Build | File |
|---|---|
| x86_64 | effectcraft-<ver>-freebsd-x86_64.tar.gz |
| Build | File | Notes |
|---|---|---|
| Static site | effectcraft-web-<ver>.zip |
Runs in a modern browser; host it on any static server |
EffectCraft is one of the Crafting Apps: free, open-source creative tools from the ArtCraft team, each written from scratch in Rust and each able to stand on its own.
| App | What it's for | Code | Learn more | |
|---|---|---|---|---|
| PhotoCraft | Image editing: layers, masks, type and real PSD files | GitHub | Website | |
| VectorCraft | Vector illustration | GitHub | Website | |
| FilmCraft | Video editing, color and sound | GitHub | Website | |
| LightCraft | Photo library and raw development | GitHub | Website | |
| PdfCraft | Reading, organizing and protecting PDFs | GitHub | Website | |
| EffectCraft | Motion graphics and visual effects · you are here | GitHub | Website | |
| DesignCraft | Page layout and publishing | GitHub | Website |
And ArtCraft itself, our AI image and video studio for artists who want real control.
Our Discord is where artists of every kind hang out: people who paint, shoot, draw, cut film, set type, and people still figuring out what they like to make. Share what you're working on, ask for help, tell us what's broken, or tell us what you wish these tools could do. Whatever your medium and however long you've been at it, you're welcome here.
discord.gg/artcraft · getartcraft.com · The Crafting Apps · EffectCraft
EffectCraft is dual-licensed under MIT or Apache-2.0, at your option. Copyright (c) 2026 ArtCraft Team and the EffectCraft contributors. Required notices are in NOTICE.
Bundled fonts, icons, images and other assets keep their own open licenses; each one is listed with its author, source and license in ATTRIBUTION.md.
The ArtCraft name, wordmark and logos in docs/brand/ are trademarks of the
ArtCraft Team and are not covered by this license. They may be used only unmodified, and only as
part of this repository and EffectCraft, under docs/brand/LICENSE-brand.txt.
Forks and modified versions must remove them.
Adobe, Photoshop, Illustrator, Premiere Pro, Lightroom, Acrobat, After Effects and InDesign are trademarks or registered trademarks of Adobe Inc. in the United States and/or other countries. EffectCraft is an independent, open-source project and is not affiliated with, sponsored by or endorsed by Adobe Inc.; these names are used only to describe the workflows it is compatible with.
Made by the ArtCraft team and community.