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, 259 effects, layer styles, expressions, 3D cameras and lights, and a render queue, native on macOS, Windows and Linux, and in the browser later on. 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 · 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.
wiggle, loopOut,
thisComp.layer("…"), vector maths on arrays), an inline editor and the pick-whip.
259 effects across After Effects' 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, PNG, JPEG, TIFF and 32-bit EXR sequences, and animated GIF. The same queue runs from the command line. Every encoder is FilmCraft's pure-Rust code; 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.
You need Rust 1.95 or newer.
git clone https://github.com/storytold/effectcraft
cd effectcraft
cargo run --release -p effectcraft # the app, with the demo project open
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)
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. The core of After Effects is in place and gets deeper every week: what is
done and what comes next is in the ROADMAP. Not there yet: Roto Brush, Warp
Stabilizer and the 3D camera tracker, Advanced 3D, on-canvas text editing and GPU compositing. The web build
(docs/web.md) runs the full app in the browser, single-threaded for now. Projects
are saved as .ecproj, readable versioned JSON; After Effects .aep files cannot be opened.
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 | |
| PrintCraft | 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. Bundled fonts and other non-code assets are listed with their authors and licenses in ATTRIBUTION.md.
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.
Rust
98.3%
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, 259 effects, layer styles, expressions, 3D cameras and lights, and a render queue, native on macOS, Windows and Linux, and in the browser later on. 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 · 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.
wiggle, loopOut,
thisComp.layer("…"), vector maths on arrays), an inline editor and the pick-whip.
259 effects across After Effects' 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, PNG, JPEG, TIFF and 32-bit EXR sequences, and animated GIF. The same queue runs from the command line. Every encoder is FilmCraft's pure-Rust code; 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.
You need Rust 1.95 or newer.
git clone https://github.com/storytold/effectcraft
cd effectcraft
cargo run --release -p effectcraft # the app, with the demo project open
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)
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. The core of After Effects is in place and gets deeper every week: what is
done and what comes next is in the ROADMAP. Not there yet: Roto Brush, Warp
Stabilizer and the 3D camera tracker, Advanced 3D, on-canvas text editing and GPU compositing. The web build
(docs/web.md) runs the full app in the browser, single-threaded for now. Projects
are saved as .ecproj, readable versioned JSON; After Effects .aep files cannot be opened.
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 | |
| PrintCraft | 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. Bundled fonts and other non-code assets are listed with their authors and licenses in ATTRIBUTION.md.
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.
Rust
98.3%