effectcraft README

The project's README from github.com/storytold/effectcraft. As one markdown file: README.md.

ArtCraft

EffectCraft

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.

Status: young and moving fast Written in Rust License: MIT OR Apache-2.0

Join the ArtCraft community on Discord

EffectCraft on getartcraft.com · ArtCraft · All Crafting Apps


EffectCraft's main window: the animated demo composition in the Composition panel, the Project panel, a Timeline with text, shape and solid layers, and the Properties panel showing the selected text layer's transform, font and paragraph settings

[!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

What EffectCraft is

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:

Animate

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.

The Graph Editor showing an eased value curve for a text animator's Range Start, with the graph editor's button bar for hold, linear, auto Bezier and Easy Ease

Effects

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.

A CC Particle World burst with Glow, and the Effect Controls panel listing the particle system's parameters

3D

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.

The 3D Showcase demo in Custom View 1: intersecting cards lit by a spot light with soft shadows on a gridded floor, with the camera frustum and light drawn as wireframes

Export

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.

The Render Queue panel with two compositions queued

Built for agents

Everything you can do from a menu is a command with an id, and agents can reach every one of them:

See docs/agents.md and docs/control-protocol.md.

Get started

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.

Where it stands

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:

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.

How it's made

Downloads

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.

Windows

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".

macOS

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

Linux

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.

FreeBSD

Build File
x86_64 effectcraft-<ver>-freebsd-x86_64.tar.gz

Web (WebAssembly)

Build File Notes
Static site effectcraft-web-<ver>.zip Runs in a modern browser; host it on any static server

The Crafting Apps

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.


Join the ArtCraft community on Discord

Come make things with us

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

License and credits

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.

ArtCraft
Made by the ArtCraft team and community.

Star history

Star History Chart

effectcraft (storytold/effectcraft)

Searching Database…

这是什么?EffectCraft 是一款免费开源的动态图形与视觉特效合成器:以净室方式重新实现 Adobe After Effects,用纯 Rust 从零构建。
这是桌面应用,还是也能在浏览器里运行?它是 macOS、Windows 和 Linux 上的原生桌面应用,同时也有一个 Web 版本,用 WebAssembly 和 Web Workers 在浏览器中运行整个应用。
怎么让它跑起来?没有提到预构建的安装包;你需要从源码构建,用 cargo test --workspace 运行测试,并在提交改动前运行 cargo xtask ci。
需要先安装 Rust 吗?需要,你要有 Rust 1.95 或更新版本。与大多数视频工具不同,它完全不依赖 FFmpeg——视频/音频解码以及 H.264、ProRes、VP9、AV1、HEVC 和 Opus 编码器全部是纯 Rust 实现。
它能打开真正的 After Effects 工程文件吗?不能——无法打开 After Effects 的 .aep 文件。EffectCraft 使用自己可读、带版本的 JSON 工程格式(.ecproj)。这个项目还很年轻:Roto Brush 和面部跟踪仍使用传统方法而非学习模型,部分特效也仍然只能在 CPU 上运行。
它会把我的项目信息偷偷回传吗?不会。它没有遥测功能,除非你明确要求,否则不会进行任何网络访问。
AI 智能体能控制 EffectCraft 吗?可以——每个菜单操作都是一条命令,可通过 MCP 服务器(effectcraft-cli mcp,可用可选的 --bridge 连接到正在运行的应用)、一次性 JSON CLI,以及一个按自动化 id 检查和点击 UI 元素的 JSON 控制通道来调用。
可以导出动画供网页使用吗?可以。Lottie 导入导出是原生内置的,合成结果可以直接保存为 .json 或 .lottie,无需插件即可用于网页和应用。
它包含多少种特效?共 306 种特效,覆盖了 After Effects 的每一个类别(全部 298 种)外加额外种类,与原版的参数名称、顺序和默认值保持一致。
这是独立项目,还是更大体系的一部分?它是 ArtCraft 团队“Crafting Apps”家族的一员——一系列用 Rust 从零打造的创作工具,包括 PhotoCraft、VectorCraft、FilmCraft、LightCraft、PrintCraft 和 DesignCraft,每一个都能独立使用。
Creator
storytold
Size
29.5 MB
Stars
7K
Age
16d
Commits · 90 Days