Repolode
storytold

storytold/effectcraft

An open-source, pure Rust motion graphics and compositing app that aims to be a clean-room alternative to Adobe After Effects.

Open-source alternative to:Adobe After Effects

Stars
7,439
Forks
3,961
Open issues
593
Last commit
2 days ago

What is it?

EffectCraft is a compositor for animated titles, motion graphics and visual effects. You build compositions from layers such as solids, shapes, text, footage and nested comps, animate properties with keyframes, apply effects and render the result. Its panels, menus and keyframe behaviour follow After Effects, and it includes 306 effects, layer styles, expressions, 3D cameras and lights, and a render queue.

The project adds a few distinct choices: Lottie import and export are built in, projects are saved as versioned JSON (.ecproj) that diffs cleanly in version control, and video and audio encoding is implemented in pure Rust without FFmpeg. Every command is exposed through a registry that can be driven from a CLI, a JSON control channel and an MCP server.

The app runs on macOS, Windows and Linux, and as a WebAssembly build in the browser. It is in alpha: it cannot open .aep projects, and its output has not been systematically compared with After Effects.

Key features

  • 01Layers, keyframes, Graph Editor and expressions following the After Effects model.
  • 02306 built-in effects plus all nine layer styles.
  • 032D and 3D compositing with cameras, lights and soft shadows.
  • 04Lottie JSON and .lottie import and export.
  • 05Render queue with H.264, ProRes, HEVC, AV1, WebM and image sequence outputs.
  • 06Command-line, JSON control channel and MCP server for automation.

Use cases

  • Creating animated titles and motion graphics in a free, open-source tool.
  • Exporting animations to Lottie for websites and apps.
  • Scripting or automating render jobs from the command line.
  • Keeping project files in version control as readable JSON.

Quick start

  1. 1

    Clone the repository

    git clone https://github.com/storytold/effectcraft
  2. 2

    Enter the project directory

    cd effectcraft
  3. 3

    Run the app (Rust 1.95 or newer required)

    cargo run --release -p effectcraft

Things to know

  • Alpha stage: about 45% of the way to replacing After Effects for professional work.
  • After Effects .aep and .aepx projects cannot be opened, and AE plug-ins do not run.
  • macOS is the most tested platform; Linux and Windows have reported basic interaction bugs.

Topics

FAQ

What is effectcraft?
An open-source, pure Rust motion graphics and compositing app that aims to be a clean-room alternative to Adobe After Effects. EffectCraft is a compositor for animated titles, motion graphics and visual effects. You build compositions from layers such as solids, shapes, text, footage and nested comps, animate properties with keyframes, apply effects and render the result. Its panels, menus and keyframe behaviour follow After Effects, and it includes 306 effects, layer styles, expressions, 3D cameras and lights, and a render queue.
Is effectcraft free to use? What license does it have?
effectcraft is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is effectcraft still maintained?
Actively maintained. The last commit to effectcraft was on Oct 18, 2026.
What can I use effectcraft for?
Creating animated titles and motion graphics in a free, open-source tool. Exporting animations to Lottie for websites and apps. Scripting or automating render jobs from the command line. Keeping project files in version control as readable JSON.
How do I install effectcraft?
Clone the repository: git clone https://github.com/storytold/effectcraft Enter the project directory: cd effectcraft Run the app (Rust 1.95 or newer required): cargo run --release -p effectcraft
Where can I get effectcraft?
The source code and installation instructions are on GitHub: https://github.com/storytold/effectcraft

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects