effectcraft is a free, open source photo & video editors project written in Rust and released under Apache-2.0. It has 5,065 GitHub stars, 2,456 forks and 317 open issues, and was last pushed 5 hours ago. On this registry it ranks #31 of 74 tracked projects in Photo & Video Editors, with 5 head-to-head comparisons available.

What is effectcraft?

EffectCraft is a free, open-source motion graphics and visual effects compositor for anyone who would otherwise reach for Adobe After Effects — animators, compositors, and motion designers who want native desktop apps and a browser build without a subscription.

What it is

EffectCraft is a clean-room reimplementation of Adobe After Effects written in pure Rust, aimed at animated titles, motion graphics, and compositing work. It lives in the same ecosystem as professional video and motion design tools: you assemble a composition from layers — solids, shapes, text, footage, nested compositions, nulls, adjustment layers, cameras and lights — animate their properties with keyframes, stack effects, and render the result through a render queue. Its interface deliberately mirrors the After Effects panel set, including Project, Composition, Timeline, Effect Controls, Effects & Presets, Character, Paragraph, Align, Info, Preview, Audio and Render Queue, so existing muscle memory carries over.

The concrete problem it addresses is the cost and closedness of the proprietary tool it replaces: a paid, single-vendor compositor with opaque project files and no built-in path to the web. EffectCraft answers that with versioned JSON project files (.ecproj) that diff cleanly in version control, Lottie import and export built in rather than added through a plugin, and encoding that never leaves the process — there is no FFmpeg dependency, since video and audio decoding and encoding are pure Rust, using FilmCraft's codecs alongside EffectCraft's own VP9, AV1, HEVC and Opus encoders. It runs natively on macOS, Windows and Linux, and in the browser.

Key capabilities

  • Layer compositing with parenting, track mattes, motion blur, and all 38 blend modes across solids, shapes, text, footage, nested compositions, nulls, adjustment layers, cameras and lights.
  • Keyframe interpolation matching After Effects behaviour: linear, Bezier, hold, auto and continuous Bezier, roving keys, Easy Ease (F9), the Keyframe Velocity and Interpolation dialogs, plus a Graph Editor with value and speed graphs and draggable handles.
  • Time controls including time remapping, time stretch, time-reverse, freeze frame, work area and markers, with frame-accurate timing at every frame rate including 29.97 drop-frame.
  • Shape layers with trim paths, repeaters, round corners, offset, zig zag, twist, wiggle, merge paths and gradient strokes, alongside pen-tool masks with modes, feather, expansion and vertex editing in the viewer.
  • JavaScript expressions using the After Effects object model — wiggle, loopOut, thisComp.layer("…"), vector maths on arrays — with an inline editor and the pick-whip.
  • A single command registry behind every menu item, timeline drag and property edit, making the same actions reachable from a command line, a JSON control channel and an MCP server for agents.
  • Puppet tools (Position, Advanced, Bend, Starch and Overlap pins) on a mesh built from the layer, with real-time pin recording and rotate/scale handles.

Who uses it and how

  • Motion designers producing animated titles and compositing work who want After Effects-equivalent panels, keyframe behaviour and property shortcuts (A, P, S, R, T, M, F, E, L, U and their double presses) without the subscription.
  • Teams that keep animation projects in version control, since .ecproj files are JSON and diff cleanly between revisions.
  • Web and app developers exporting animations as Lottie directly from the project, with no plugin required.
  • Automation and agent workflows that drive the editor through the command line, the JSON control channel or the MCP server rather than the GUI.
  • Cross-platform studios needing one project usable on macOS, Windows, Linux and in the browser.

Getting started

Native builds for macOS, Windows and Linux, plus the browser version, are distributed through the EffectCraft page on getartcraft.com under the wider ArtCraft / All Crafting Apps listing.

How it compares

EffectCraft sits alongside After Effects as a like-for-like compositor — same panels, same keyframe semantics, same expression object model — but it is built as a clean-room reimplementation in Rust rather than an extension of the original, and it adds the readable .ecproj format and built-in Lottie round-trip that After Effects does not offer natively. It is distributed under Apache-2.0, so it is free to use and study where the tool it imitates is paid.

When to use it — and when not to

The project describes itself as young and moving fast, and the tracker currently carries 317 open issues, so features may shift between releases and rough edges are expected; it is best suited to people comfortable with active development rather than a frozen production pipeline. It is a desktop and browser editor rather than a hosted service, so there is no database, storage or SMTP for a self-hoster to operate, but anyone relying on it for deadline work should verify the specific effects and codecs they need first. Anyone who needs the full breadth of a mature plugin ecosystem or long-term vendor support should weigh that against a README that is still short and a licence recorded as Apache-2.0.

project readme (upstream, from github) — read inline

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


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

  • Lottie import and export built in, so animations can go straight to the web and apps without a plugin.
  • A project file you can read. Projects are versioned JSON (.ecproj), so they diff cleanly in version control.
  • Everything is scriptable. Every menu item, timeline drag and property edit goes through one command registry, so the same actions are reachable from a command line, a JSON control channel and an MCP server for agents.
  • No FFmpeg. Video and audio decoding and encoding are pure Rust: FilmCraft's codecs and EffectCraft's own VP9, AV1, HEVC and Opus encoders.

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.

  • Layers of every kind: solids, shapes, text, footage, nested compositions, nulls, adjustment layers, cameras and lights; parenting, track mattes, all 38 blend modes, motion blur.
  • Keyframes that behave the same: linear, Bezier, hold, auto and continuous Bezier, roving keys, Easy Ease (F9), Keyframe Velocity and Interpolation dialogs, copy and paste at the current time, and a Graph Editor with value and speed graphs and draggable handles.
  • Time: time remapping, time stretch, time-reverse, freeze frame, work area, markers, exact frame-accurate timing at every frame rate including 29.97 drop-frame.
  • Shapes and masks: shape layers with trim paths, repeaters, round corners, offset, zig zag, twist, wiggle, merge paths and gradient strokes; masks drawn with the pen tool, with modes, feather, expansion and vertex editing in the viewer.
  • Text: point and paragraph text with real shaping in any font installed on your machine, the Character and Paragraph panels, and text animators with range selectors.
  • Expressions: JavaScript with the After Effects object model (wiggle, loopOut, thisComp.layer("…"), vector maths on arrays), an inline editor and the pick-whip.
  • Timeline like you know it: twirl layers open to Transform, masks, effects and the rest; drag rows to reorder layers; rename with Enter or a double-click; the property shortcuts (A, P, S, R, T, M, F, E, L, U and their double presses AA, PP, SS, RR, TT, MM, FF, EE, LL, UU), Shift to add properties, Alt+Shift+A/P/S/R/T to key the current time, Ctrl+` to twirl selected layers.
  • Puppet tools: Position, Advanced, Bend, Starch and Overlap pins on a mesh built from the layer, real-time pin recording, rotate/scale handles, pins driven by (or carrying) nulls for rigging, and follow-through for hair and cloth.

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.

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.

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.

Built for agents

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

  • MCP server: 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.
  • Command line: one-shot calls with JSON output, for example 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.
  • Control channel: 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.

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:

  • After Effects projects can't be opened. Projects are saved as .ecproj, readable versioned JSON, but EffectCraft can't open .aep / .aepx files, and After Effects plug-ins don't run.
  • Behaviour still differs from After Effects in places. Nothing yet compares our renders with After Effects automatically, so please report differences.
  • macOS is the most tested platform. Linux and Windows users have hit basic interaction bugs, which we're fixing first.
  • The trained models are new. Roto Brush can use MobileSAM (an optional 40 MB download in Settings ▸ Roto Brush) and face tracking can use Google's MediaPipe Face Landmarker (an optional 3.8 MB download in Settings ▸ Face Tracking). Neither is compared with After Effects yet.

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

  • Engine first. A stack of small crates with strict layering. The interface (egui) sits on top and nothing underneath depends on it.
  • Clean room. We work from After Effects' public documentation and how it behaves, never from Adobe's files, icons, presets or code. No code is copied from GPL projects. The full rules are in AGENTS.md.
  • Private by default. No telemetry, and no network access unless you ask for it.
  • One family. EffectCraft shares its time model and text engine design with FilmCraft, and gets its video and audio codecs from it.

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. `` 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--windows-x64.msi effectcraft--windows-x64-portable.zip
arm64 (Snapdragon and other ARM PCs) effectcraft--windows-arm64.msi effectcraft--windows-arm64-portable.zip
x86 (32-bit) effectcraft--windows-x86.msi effectcraft--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--windows-x64.msi /qn INSTALLFOLDER="D:\Apps\EffectCraft".

macOS

Build File Notes
App, universal (Apple silicon + Intel) effectcraft--macos-universal.dmg Signed and notarized
Command-line tool, universal effectcraft-cli--macos-universal.zip Signed and notarized

Linux

Format x86_64 aarch64 (ARM64) Notes
AppImage effectcraft--linux-x86_64.AppImage effectcraft--linux-aarch64.AppImage Runs anywhere; updates itself with AppImageUpdate (.zsync files)
Flatpak effectcraft--linux-x86_64.flatpak effectcraft--linux-aarch64.flatpak Sandboxed; flatpak install --user
Debian/Ubuntu effectcraft--linux-x86_64.deb effectcraft--linux-aarch64.deb
Fedora/RHEL/openSUSE effectcraft--linux-x86_64.rpm effectcraft--linux-aarch64.rpm
Tarball effectcraft--linux-x86_64.tar.gz effectcraft--linux-aarch64.tar.gz Unpack anywhere

RISC-V 64-bit: effectcraft--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--freebsd-x86_64.tar.gz

Web (WebAssembly)

Build File Notes
Static site effectcraft-web-.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.


Made by the ArtCraft team and community.

Star history

Star History Chart

Frequently asked questions

Is effectcraft free to use?

effectcraft is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does effectcraft do?

effectcraft is an open source project.

What is effectcraft written in?

effectcraft is primarily written in Rust. Its source is publicly available at https://github.com/storytold/effectcraft, and it has 5,065 GitHub stars.