EffectCraft v0.17.0

EffectCraft is an open-source motion graphics and visual effects application designed as a clean-room reimplementation of Adobe After Effects. Written in Rust, it provides a native desktop editor for Windows, macOS, and Linux, alongside a browser-based version.

The application focuses on professional animation and compositing workflows, including keyframes, animated text, masks, visual effects, 3D cameras, lights, and a render queue. Its interface follows familiar After Effects conventions, making it easier for experienced motion designers to understand its workflow.

EffectCraft also stands out for its automation capabilities. Projects use a readable JSON-based format, and the application exposes its editing engine through a command-line interface, a JSON control channel, and an MCP server for AI agents.

Features

EffectCraft includes a broad collection of tools for motion graphics and visual effects.

  • Timeline and keyframes: Animate layer properties with linear, Bezier, hold, and eased interpolation. The Graph Editor provides value and speed graphs for adjusting animation curves.

  • Layer compositing: Combine text, shapes, footage, nested compositions, adjustment layers, solids, cameras, and lights. Parenting, track mattes, blend modes, and motion blur are supported.

  • Shape animation: Create shape layers with trim paths, repeaters, rounded corners, gradient strokes, and other procedural shape operators.

  • Masks and selection: Draw and edit masks with feathering, expansion, and different compositing modes.

  • Text animation: Work with point text, paragraph text, text animators, range selectors, and text-on-path workflows.

  • Expressions: Use JavaScript expressions with familiar After Effects-style objects and functions, including wiggle, loopOut, and layer references.

  • Puppet tools: Animate character and object deformations with pins, mesh controls, rigging, and follow-through.

  • Visual effects: Apply blur, sharpening, color correction, distortion, keying, noise, stylization, transitions, simulation, and audio effects.

  • Layer styles: Apply effects such as Drop Shadow, Inner Glow, Outer Glow, Bevel and Emboss, Satin, Stroke, and color overlays.

  • 3D scenes: Work with 3D layers, cameras, lights, depth of field, and shadows.

  • Motion tracking: Use tracking and analysis tools for motion-related workflows.

  • Audio support: Preview animations with synchronized audio, waveforms, meters, and audio effects.

  • Lottie integration: Import and export supported animations for use in websites and applications.

  • Render queue: Export animations and compositions to video, audio, image sequences, and animated formats.

  • Automation: Control editing operations through the CLI, JSON interface, and MCP server.

The effects library is particularly ambitious, covering hundreds of effects inspired by familiar After Effects categories. It includes tools for color correction, distortion, keying, simulation, perspective, time manipulation, audio processing, and stylization.

Lottie import and export is another practical advantage. It allows compatible animations to move between EffectCraft and web or application workflows without requiring a separate export plugin.

Download EffectCraft v0.17.0 - Software Mirrors

EffectCraft v0.17.0 for Windows

effectcraft-0.17.0-windows-x86.msi | 47.8 MB

effectcraft-0.17.0-windows-x86-portable.zip | 61.5 MB

effectcraft-0.17.0-windows-x64.msi | 49.08 MB

effectcraft-0.17.0-windows-x64-portable.zip | 64.74 MB

effectcraft-0.17.0-windows-arm64.msi | 43.68 MB

effectcraft-0.17.0-windows-arm64-portable.zip | 59.92 MB

EffectCraft v0.17.0 for macOS

effectcraft-cli-0.17.0-macos-universal.zip | 58.26 MB

effectcraft-0.17.0-macos-universal.dmg | 63.28 MB

EffectCraft v0.17.0 for Linux

effectcraft-0.17.0-linux-x86_64.tar.gz | 61.72 MB

effectcraft-0.17.0-linux-x86_64.rpm | 62.77 MB

effectcraft-0.17.0-linux-x86_64.pkg.tar.zst | 43.21 MB

effectcraft-0.17.0-linux-x86_64.flatpak | 40.06 MB

effectcraft-0.17.0-linux-x86_64.deb | 63.17 MB

effectcraft-0.17.0-linux-x86_64.AppImage.zsync | 200.18 kB

effectcraft-0.17.0-linux-x86_64.AppImage | 57.12 MB

effectcraft-0.17.0-linux-riscv64.tar.gz | 60.25 MB

effectcraft-0.17.0-linux-riscv64.rpm | 61.4 MB

effectcraft-0.17.0-linux-riscv64.deb | 61.53 MB

effectcraft-0.17.0-linux-aarch64.tar.gz | 57.63 MB

effectcraft-0.17.0-linux-aarch64.rpm | 59.74 MB

effectcraft-0.17.0-linux-aarch64.pkg.tar.zst | 40.78 MB

effectcraft-0.17.0-linux-aarch64.flatpak | 35.33 MB

effectcraft-0.17.0-linux-aarch64.deb | 60.35 MB

effectcraft-0.17.0-linux-aarch64.AppImage.zsync | 186.96 kB

effectcraft-0.17.0-linux-aarch64.AppImage | 53.35 MB

EffectCraft v0.17.0 for BSD

effectcraft-0.17.0-freebsd-x86_64.tar.gz | 61.41 MB

Others Download related to EffectCraft v0.17.0

effectcraft-web-0.17.0.zip | 18.55 MB

EffectCraft v0.17.0 Source Code

EffectCraft v0.17.0 Source code (zip)

EffectCraft v0.17.0 Source code (tar.gz)

EffectCraft v0.17.0 Release Notes:

What's Changed

  • svg: bound raster surfaces and handle duplicate gradient stops by @dylanmtaylor in #2190
  • ui: bound queued synthetic input gestures by @dylanmtaylor in #2197
  • text: bound layout and variable font metadata by @dylanmtaylor in #2193
  • pdf: bound image sample and mask allocations by @dylanmtaylor in #2191
  • roto: bound frozen matte decoding and serialization by @dylanmtaylor in #2194
  • expr: bound rewrite expansion and preserve assignment targets by @dylanmtaylor in #2195
  • fix: validate the CLI path in the AE ease checker (SonarCloud jssecurity:S8705) by @dylanmtaylor in #2214
  • fix: put the NOSONAR marker on the spawnSync line (SonarCloud follow-up) by @dylanmtaylor in #2215
  • fix: document the AE checker's operator-supplied CLI path (SonarCloud) by @dylanmtaylor in #2217
  • fix: suppress the stat check's taint finding (SonarCloud) by @dylanmtaylor in #2218
  • segment: bound checkpoint tensors and pickle work by @dylanmtaylor in #2192
  • xtask: use unique temporary directories for bench tests by @dylanmtaylor in #2196
  • packaging: use [[ tests, named locals and explicit returns (SonarCloud S7688/S7679/S7682) by @dylanmtaylor in #2187
  • Use chrono instead of hand-rolled UTC conversion by @dylanmtaylor in #2023
  • CI: dev-profile gate, one test binary per crate, nextest, line tables only by @aiongg in #2235
  • Packaging: pin the signing client and appimagetool, and check their hashes by @aiongg in #1976
  • Footage, Lottie and models: resolve stored paths with craft-docpath's resolve_absolute by @aiongg in #1975
  • GPU tests: pass on Mesa lavapipe (boundary flips, skip the Reshape case that crashes it); cargo fmt by @aiongg in #2239
  • CI: shared gate workflow; FreeBSD nightly and on release by @aiongg in #2204
  • security: move the release workflow's write permission to the job level (SonarCloud githubactions:S8233) by @dylanmtaylor in #2241
  • Translations: missing strings show in English and are listed by a report, not failed by tests by @aiongg in #2244
  • ci(sonar): stop cancelling main-branch runs so coverage is published by @dylanmtaylor in #2249
  • Integration batch 1: 18 contributor PRs (CJK fonts, timeline, preview caches, interface languages) by @aiongg in #2257
  • Preview: keep rendering past the cached frames after a loop or restart by @ded-achtung in #1920
  • Layer: replace a layer's source with Alt-drag and Ctrl+Alt+/ (#991) by @ki2pixel in #1929
  • Layer: Reveal Layer Source in Project from the context menus (#1809) by @ki2pixel in #1931
  • Timeline: the disk-cache bar checks only the visible frames by @arnav-hiwarkar in #2048
  • engine: split layers above the original by default (#2083) by @gmrmad1 in #2114
  • ui: Spacebar hand pans timeline rows vertically (#2083) by @gmrmad1 in #2116
  • ui: the interface prefers the platform's UI faces, rendered text keeps the print ones by @FeiLiuEM in #1322
  • Preview: replaced browser media gets a new disk-cache key (#1253) by @vbasky in #1699
  • Text: draw Faux Bold and synthetic bold (#1676) by @HEOJUNFO in #1837
  • i18n: tab titles, workspaces and Project/Timeline column headers reach the catalogs; web language follows ?lang= and the browser by @devius in #1842
  • i18n: Georgian (ka) interface language by @devius in #1843
  • Timeline: layer switches, labels and modes act on the whole selection (#1849) by @ki2pixel in #1850
  • Text Range Selector: Start, End and Offset show as counts with Units = Index (#1814) by @SBaksa in #1865
  • fix(text): isolate CJK fallback language and cache entries by @TimotheusG in #1907
  • #1812: stills at reduced resolution are resampled once, and their layers cached by @ded-achtung in #1917
  • #1812: workers that render a layer at once share the cached buffer by @ded-achtung in #1928
  • Fix incomplete system font coverage in the Chinese interface by @yuraizmailov in #1973
  • Preview: a zoom or resolution change evicts the other sizes' frames first by @arnav-hiwarkar in #2046
  • Translations report: count repeated menu entries once; list panel strings no catalog has yet by @aiongg in #2252
  • Integration batch 2: 18 contributor PRs (SVG, engine, colour effects, effects, settings, tests) by @aiongg in #2259
  • Color effects and keys render as in After Effects (Tint, Tritone, Black & White, Exposure, Levels, Brightness & Contrast, Curves, Luma Key, Extract, 4-Color Gradient, Fill) by @vangel76 in #1872
  • Resolve SVG font-size percentages against the parent font size by @Silvertree2010 in #1901
  • engine: a keyframe on the out point no longer warns (#2084) by @gmrmad1 in #2106
  • svg: share CSS declaration blocks and cap