filmcraft is a free, open source photo & video editors project written in Rust and released under Apache-2.0. It has 1,343 GitHub stars, 344 forks and 23 open issues, and was last pushed 3 hours ago. On this registry it ranks #47 of 64 tracked projects in Photo & Video Editors, with 5 head-to-head comparisons available.

What is filmcraft?

FilmCraft is an open-source, clean-room reimplementation of the Adobe Premiere Pro editing workflow, written in pure Rust, for professional editors who want a native, self-owned non-linear editor on desktop or in the browser.

What it is

FilmCraft is a non-linear video editor built from scratch in Rust by the ArtCraft team, licensed under Apache-2.0. It deliberately reproduces the Premiere Pro experience — the same panels, workspaces, tools and shortcuts — so that an editor's hands already know where everything is, while everything underneath is new from the bitstream up. It runs natively on macOS, Windows and Linux, and also in the browser via WebAssembly, with editing, colour, effects, audio, titles, formats, export and interchange all handled by its own code.

The concrete problem it addresses is dependence on a proprietary editor: FilmCraft replaces Adobe Premiere Pro's commercial stack with codecs (H.264, HEVC, ProRes and AAC) written from the public specifications, a GPU compositor that works in linear light, and frame math on exact integer time so edits never drift. The project demonstrates this end to end — every frame in its own screenshots, including a three-minute documentary edit of NASA's 1969 Apollo 11 footage with subtitles from the mission transcript, was decoded, composited and graded by FilmCraft's code.

Key capabilities

  • Three-point editing with Mark In and Out in the Source monitor, insert (,) and overwrite (.) onto patched tracks, and lift (;) and extract (') to remove ranges.
  • A full trim toolset — ripple, roll, slip, slide, rate stretch and razor — with a Trim Monitor showing both sides of the edit, Q/W ripple-trim to the playhead, and dynamic trimming driven live by J, K, L.
  • Exact timing on 254,016,000,000 integer ticks per second, making 23.976, 29.97 drop-frame and 59.94 rates exact rather than approximate.
  • A Lumetri-style colour panel ordered as a colourist works: Basic Correction, eight built-in Creative looks written as code colour transforms, an RGB curve editor with monotone-cubic interpolation, hue-vs and luma-vs curve sets, and shadow/midtone/highlight colour wheels.
  • A Keyboard Shortcuts editor (⌥⌘K) with a drawn keyboard, panel-specific shortcuts, conflict warnings, and presets for FilmCraft, Premiere Pro, Final Cut Pro and Avid key layouts.
  • Crash safety through atomic saves, a rolling set of auto-saved versions, and a crash-recovery journal written about a second after each edit.
  • Every in-app action exposed as a command that an AI agent can drive as precisely as a human.

Who uses it and how

  • Editors fluent in Premiere who want the Editing, Assembly, Color, Effects and Audio workspaces with freely dockable panels without leaving the layout they know.
  • Documentary and trailer cutters working multi-track timelines with patch and target buttons, sync locks, linked selection, markers, nesting and unlimited undo via the History panel.
  • Colourists grading with live scopes beside the Program monitor on footage decoded and composited entirely by the application's own pipeline.
  • Teams and individuals working across mixed operating systems, since the same application ships natively for macOS, Windows and Linux and also runs in the browser through WebAssembly.
  • Workflows that automate editing, where commands are issued to the application programmatically rather than only through the interface.

Getting started

FilmCraft is published by the ArtCraft team at getartcraft.com/apps/filmcraft, where the "Get started" and Docs links carry the installation and documentation; native builds are available for macOS, Windows and Linux alongside the in-browser WebAssembly version.

How it compares

Where Adobe Premiere Pro requires a commercial licence, FilmCraft is released under the Apache-2.0 licence at no cost, with its codecs and compositor implemented from public specifications rather than licensed components. Because it runs locally on macOS, Windows and Linux as well as in the browser, the editing, colour grading and export work happens on the user's own machine under their own control rather than through a hosted service.

When to use it — and when not

It suits editors who already know the Premiere Pro panel and shortcut model and want to operate a self-contained desktop application, which requires no database, storage or SMTP infrastructure — only the application itself. It is less suitable for editors who depend on effects, codecs or interchange formats beyond the H.264, HEVC, ProRes and AAC support described here, or on verified parity with an established commercial suite. The repository carries 23 open issues, and much of the README is screenshot-driven narrative rather than a detailed feature and status breakdown, so evaluators should check the project's Status section before committing production work.

project readme (upstream, from github) — read inline

FilmCraft

Video editing, color and sound; an open-source, clean-room reimplementation of Adobe Premiere Pro, rebuilt in pure Rust.

An open-source, clean-room take on the Adobe Premiere Pro workflow: native on macOS, Windows and Linux, and in the browser via WebAssembly.
By the ArtCraft team.

License: MIT OR Apache-2.0 Written in pure Rust Runs on macOS, Windows and Linux Status: young and moving fast

Join the ArtCraft community on Discord

FilmCraft on getartcraft.com · ArtCraft · All Crafting Apps


Apollo 11 - Tranquility: a three-minute documentary edit of NASA's 1969 launch, landing and moonwalk film, with subtitles from the mission transcript. Every frame in these screenshots comes from public-domain footage, decoded, composited and graded by FilmCraft's own code.

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

Edit · Color · Effects · Audio · Titles · Formats · Export · Interchange · Agents · Get started · Docs · Status


FilmCraft is a non-linear editor for people who know Premiere: the same panels, workspaces, tools and shortcuts, so your hands already know where everything is. Underneath, it is new from the bitstream up. The H.264, HEVC, ProRes and AAC codecs are our own, written in Rust from the public specifications. A GPU compositor works in linear light. Frame math runs on exact integer time, so edits never drift. And every action in the app is a command that an AI agent can drive as precisely as you can.


Edit

The Assembly workspace, cutting a trailer for Night of the Living Dead (1968) with an insert from Carnival of Souls (1962).

A timeline you already know. Source and Program monitors, bins with thumbnails, a multi-track timeline with patch and target buttons, sync locks and linked selection. The Editing, Assembly, Color, Effects and Audio workspaces are all there, and every panel docks wherever you want it.

  • Three-point editing. Mark In and Out in the Source monitor, then insert (,) or overwrite (.) onto the patched tracks. Lift (;) and extract (') take ranges back out.
  • Every trim. Ripple, roll, slip, slide, rate stretch and razor tools. Trim mode selects edit points as ripple, roll or trim, nudges them a frame at a time (⌥← ⌥→, ×5 with ⇧), toggles the trim type with ⌃T and extends them to the playhead with E. Q and W ripple-trim to the playhead. The Trim Monitor shows both sides of the edit, and dynamic trimming trims live while it plays: L forward, J back, K to stop and commit as one undo step.
  • Exact time. Every edit is computed on integer ticks: 254,016,000,000 per second, which divides evenly by every common frame rate and sample rate. 23.976, 29.97 drop-frame and 59.94 are exact, not approximate.
  • The details pros rely on. Markers with colours, names and durations; add edit (⌘K) on one or all tracks; nesting; copy, paste and paste insert; ripple delete and close gap; snapping; unlimited undo with a History panel.
  • Your keys. A Keyboard Shortcuts editor (⌥⌘K) with a drawn keyboard, panel-specific shortcuts, conflict warnings and presets for FilmCraft, Premiere Pro, Final Cut Pro and Avid key layouts.
  • Never lose work. Saves are atomic, auto-save keeps a rolling set of versions, and a crash-recovery journal written about a second after each edit brings back unsaved changes after a crash or power cut.

Up close: dissolves, an insert on V2, the score on A2, coloured markers, and the loudness meters on the right.


Color

The Color workspace on Charade (1963), with live scopes beside the Program monitor.

A complete Lumetri-style grading panel, in the order a colourist works:

  • Basic Correction: temperature and tint, exposure, contrast, highlights, shadows, whites, blacks, saturation.
  • Creative: eight built-in looks with an intensity control, plus faded film, sharpen and vibrance. The looks are colour transforms written in code, not LUT files.
  • Curves: an RGB curve editor with monotone-cubic interpolation (no overshoot), and hue vs saturation, hue vs hue, hue vs luma, luma vs saturation and saturation vs saturation.
  • Color Wheels: shadow, midtone and highlight wheels, each with its own lightness control.
  • HSL Secondary: key a colour by hue, saturation and luma, view the key as a matte, and correct only what you selected.
  • Vignette: amount, midpoint, roundness and feather.

The Lumetri Color panel. Basic Correction, Color Wheels and every other section, each with its own on/off switch.

Scopes that tell the truth. The waveform and vectorscope are computed from the graded frame. All grading happens in linear light, in 32-bit float.

Effects and motion

NASA's Earth Views from the ISS with a look applied, and the Effects browser open on the dissolves.

  • Premiere 26's full Video Effects bin (93 effects in 16 folders), the Legacy bin and the obsolete effects old projects use, plus around 30 transitions. Blurs (Bokeh, Focus, Compound), keys (Ultra Key, Track Matte), distortions (Corner Pin, Turbulent Displace, Warp Stabilizer), Lights & Glows, Immersive Video (VR) effects on equirectangular footage, Posterize Time, Echo and more. Cross dissolve, dip to black or white, film dissolve, wipes, irises, pushes, slides, zooms, page peel, cube spin and more.
  • Motion and opacity on every clip: position, scale, rotation, anchor point and anti-flicker, plus 26 blend modes.
  • Keyframes like Premiere's: linear, Bezier, auto and continuous Bezier, hold, ease in and ease out. Effect Controls shows a keyframe lane for every parameter, and each animated parameter opens into value and velocity graphs with draggable influence handles.
  • A GPU compositor built on wgpu (Metal, Vulkan, DirectX 12, WebGPU). It samples YUV straight from the decoder with footprint supersampling and blends in linear light. A CPU path renders the same frames, and the two are tested against each other.

An eased push-in on the title card: the value graph, the velocity graph and the Bezier influence handle.


Audio

  • Loudness meters to broadcast standards. Momentary, short-term and integrated loudness and true peak to ITU-R BS.1770 and EBU R128, alongside the peak meters. Our integrated reading matches ffmpeg's ebur128 filter to the tenth of a LU.
  • Clip effects on our own DSP library: parametric EQ, high-pass, low-pass and band-pass filters, dynamics, a true-peak limiter, delay, reverb, DeNoise, DeHummer, invert and pitch shift. Parameters can be keyframed. Effects stay continuous across scrubbing, playback and export, with latency compensated.
  • Audio Track Mixer and Audio Clip Mixer: faders, pan, mute, solo, five insert slots per track (pre- or post-fader), sends, submixes and a Mix track, all sample-accurate and latency-compensated. 24 tracks with three effects each mix about six times faster than real time on one core.
  • Automation like a console: Read, Latch, Touch and Write modes recorded live from the mixer during playback, shown and edited as track keyframes on the timeline. Plus the Audio Gain dialog (set, adjust, normalize) and constant-power crossfades.
  • Audio-clock playback. The sound card is the master clock, so picture follows sound and never the other way round.

Titles and captions

  • A real text engine: OpenType shaping with kerning and ligatures, bidirectional text, line breaking, tracking and leading, drawn in linear light and sharp at any scale or rotation.
  • Type, Shape and Pen tools on the Program monitor: click to type, edit with a caret and selection, drag out rectangles, ellipses and paths. Graphic clips hold text and shape layers with fill, strokes, background and shadow, all keyframable, and edited in the Properties panel.
  • Captions: caption tracks in Subtitle, CEA-608, CEA-708 and Teletext formats; import and export SRT, WebVTT and SCC with frame-exact timing; edit captions in the Text panel and burn them into exports.

Formats and codecs

No FFmpeg inside. The video codecs, AAC, Opus and the containers are our own Rust code, implemented from the public ITU-T, ISO and IETF specifications and tested frame by frame against ffmpeg as an external oracle.

Decode Encode Notes
H.264 / AVC ✓ ✓ Decoder bit-exact on 37+ streams, 500–600 fps at 1080p. Encoder: High, Main and Baseline profiles, CABAC, B-frames, CRF/CBR/VBR/2-pass
HEVC / H.265 ✓ Main and Main 10, bit-exact on 41 streams (tiles, WPP, PCM, long-term references), about 225 fps at 1080p
Apple ProRes ✓ ✓ Decodes 422 Proxy to 4444 XQ; export writes 422 HQ
AAC-LC ✓ ✓
VP9 ✓ Profiles 0–3, 8/10/12-bit, 4:2:0 to 4:4:4, tiles and superframes; bit-exact on 50+ streams; in WebM/Matroska and MP4
Opus ✓ SILK, CELT, hybrid and multistream surround; range-exact on every RFC 8251 conformance vector; in WebM/Matroska and MP4
AV1 ✓ Main profile, 8/10-bit 4:2:0 and monochrome, every coding tool incl. film grain, superres and spatial layers; bit-exact with libdav1d on the libaom vectors tested; in MP4 and WebM/Matroska
Avid DNxHD / DNxHR ✓ ✓ All SMPTE ST 2019-1 CIDs (LB to 444, 8/10/12-bit); export writes DNxHR in MOV
MJPEG, PCM ✓ ✓
MP3, FLAC, ALAC, Vorbis ✓ Via the symphonia crate (MPL-2.0) for now, to be replaced by our own
MP4 / MOV ✓ ✓ Fragmented MP4, edit lists, timecode tracks
Matroska / WebM ✓ Lacing, Cues, header stripping, HDR colour metadata
Stills ✓ ✓ Import PNG, JPEG, GIF, WebP, TIFF and BMP; export PNG sequences and animated GIF

Also imported: MPEG-2 / MPEG-1 video, AC-3, MP2, MXF (OP1a / OP-Atom), MPEG transport and program streams (AVCHD, broadcast, DVD), Ogg and image sequences. Not yet: HEVC and AV1 export, camera RAW, E-AC-3. Hardware decoding works on macOS (VideoToolbox), with Linux and Windows to follow (#30).


Export

Export mode, set to write the trailer as H.264 MP4.

  • H.264 MP4 with AAC, using our own encoders. A 6-second 960×540 render takes 1.3 seconds and decodes cleanly in ffmpeg with error concealment switched off.
  • Also: Apple ProRes 422 HQ and Motion JPEG in QuickTime, MXF OP1a and Avid-style OP-Atom (DNxHR, ProRes or H.264 with PCM and start timecode), PNG sequences, animated GIF and WAV.
  • Background jobs with progress and cancel, so you keep editing while it renders.
  • Render previews: the render bar marks segments green, yellow or red; rendered previews are cached by content, so an edit only invalidates what it touches and undo brings the green back.

Interchange

Move timelines between FilmCraft and every other editor:

  • Final Cut Pro 7 XML (xmeml): the format Premiere and DaVinci Resolve exchange. It carries nested sequences, transitions, generators, Motion, Opacity, Time Remap and audio levels, with keyframes.
  • FCPXML 1.9–1.11: the spine, connected clips as lanes, transitions, retiming and compound clips.
  • OpenTimelineIO: the open interchange format of the film industry, round-tripping every FilmCraft detail through metadata.filmcraft.
  • CMX 3600 EDL: the oldest format still in use, with drop-frame timecode, dissolves, wipes, speed changes (M2) and one EDL per track.
  • AAF (Edit Protocol): for Avid Media Composer and Pro Tools. Video and audio tracks, dissolves and dips, clip volume with keyframes, markers and source timecode; audio embedded or as separate WAV / AIFF files, trimmed with handles, with clip effects rendered in and broken out to mono, plus an optional video mixdown. Import reads AAF back, extracting embedded audio.
  • OMF 2.0: the audio-post handoff: the audio tracks with crossfades and gain, sample-accurate, with the audio encapsulated or alongside.

Import merges the document's bins, media and sequences into your project as one undoable step, and links each media file it finds on disk.


Built for agents

Every menu item, button, slider and drag in FilmCraft is a command with an id, typed parameters and an enabled state. There are about 135 engine commands so far, with the rest of Premiere's catalogue on the way. The UI, the CLI, a JSON control channel and an MCP server all dispatch the same commands, so Claude or any agent can cut, trim, grade, mix and export exactly the way a person does. The UI can also be driven at the level of mouse and keyboard: every widget has an automation id, and agents can click, drag, type and take screenshots.

// over the control channel (JSON lines on TCP) or as MCP tool calls
{"method": "engine.execute", "params": {"command": "timeline.place",
  "params": {"item": 1, "track": "V1", "seconds": 0, "sourceIn": 284298240000000, "duration": 1270080000000}}}
{"method": "engine.execute", "params": {"command": "effects.setParam",
  "params": {"clip": 87, "effect": "lumetri", "param": "curve_luma", "value": [[0,0],[0.25,0.21],[0.75,0.82],[1,1]]}}}
{"method": "ui.screenshot", "params": {"path": "frame.png"}}

The trailer and the grades in these screenshots were built exactly this way, by an agent driving the running app.


Everywhere

  • Native on macOS, Windows and Linux, with a native macOS menu bar.
  • The web: every crate up to the engine compiles to wasm32; the browser front end is next.
  • Swappable UI. The interface is one crate (ui-egui) over the engine, so a different front end can replace it without touching editing logic.

Get started

cargo run --release -p filmcraft                           # the desktop app, with a demo project
cargo run --release -p filmcraft -- --control 9876         # plus the JSON-lines control server
cargo run --release -p filmcraft-cli -- commands           # list every engine command
cargo run --release -p filmcraft-cli -- mcp                # MCP server (headless)

The control protocol is documented in docs/control-protocol.md. Stuck, or want to show what you made? Ask in Discord.

Documentation

CONTRIBUTING.md · docs/contributing.md Setup, quality gates, commit conventions, how to add commands, effects, codecs, panels and assets
AGENTS.md The rules every contributor must follow: assets, clean room, licences
docs/architecture.md Layers, data model, time base, command system, render and export pipeline
docs/testing.md Unit, property and ffmpeg-oracle tests, accuracy criteria, benchmarks
docs/agents.md Driving FilmCraft over MCP and the control channel; how agents develop it
docs/control-protocol.md Control-channel and MCP reference
docs/project-files.md .fcproj format, schema migrations, auto-save and crash recovery
docs/graphics.md · docs/captions.md Text engine, graphic clips and tools; caption tracks and formats
ROADMAP.md Honest assessment, what's missing, milestones and estimates

Status

FilmCraft is young and moving fast. Editing, trimming, multicam, colour, keyframes, effects, titles, captions, mixing, codecs and export work today.

We track two numbers (ROADMAP.md):

  • Feature checklist: ~87%. Premiere Pro's menu items, effects, transitions, panels and formats that exist in FilmCraft.
  • Ready for real work: ~50–60%. Our honest estimate of how close FilmCraft is to replacing Premiere on real projects.

The biggest gaps today:

  • Speed on big footage. Hardware decoding works on macOS; Windows and Linux have no hardware path yet. Blend modes and the most common effects run on the GPU, but Lumetri, keys, export and encoding still run on the CPU (#30).
  • No plugins. No VST3 / Audio Units or OpenFX hosting.
  • Delivery codecs. H.264 is our only delivery-codec export; no HEVC or AV1 export yet.
  • Real-world media and platforms. Our decoders are bit-exact on conformance streams, but camera and phone files in the wild are less tested. Windows and Linux get far less testing than macOS.
  • AI features. Few so far; speech to text is optional and off by default.

Bug reports with real footage are the most useful thing you can send us: open an issue or tell us in Discord.

Architecture

A layered Cargo workspace:

Layer Crates
Codecs and containers h264, h264enc, hevc, vp9, prores, aac, opus, isobmff, matroska, bitstream
Foundations time, geom, color, frame, media, text, project, audio-dsp
Editing and interchange edit, codecs, captions, format (project files), interchange
Rendering and output render, gpu, export
Engine engine: command registry, session, undo, jobs
Front ends ui-egui, automation (MCP), apps/filmcraft, apps/filmcraft-cli
Test support testkit (ffmpeg oracles, fixtures), golden (golden-image tests)

Nothing below the front ends depends on a UI toolkit or OS API. cargo xtask ci checks formatting, lints, tests, the layering rules, asset attribution and the wasm build.

The Crafting Apps

FilmCraft 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 · you are here GitHub Website
LightCraft Photo library and raw development GitHub Website
PrintCraft Reading, organizing and protecting PDFs GitHub Website
EffectCraft Motion graphics and visual effects 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 · FilmCraft


License and credits

FilmCraft is dual-licensed under MIT or Apache-2.0, at your option. Copyright (c) 2026 ArtCraft Team and the FilmCraft 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.

Footage and music in the screenshots: NASA's Apollo 11 film and television footage from images.nasa.gov (launch, Launch Control Center, lunar surface and recovery) and the Apollo 11 air-to-ground voice transcript, all US Government works in the public domain (NASA does not endorse this project); Night of the Living Dead (1968), Carnival of Souls (1962) and Charade (1963), all in the US public domain; Earth Views from the ISS by NASA; Chopin's Nocturne Op. 48 No. 1 and Ballade No. 1, performed for Musopen and released under CC0. The media itself is not in this repository. Sources and details for every asset are in ATTRIBUTION.md.

FilmCraft is an independent implementation. It contains no Adobe code, icons, images, presets or LUTs, and no GPL or LGPL code; every icon is drawn in code and every asset is openly licensed and attributed (AGENTS.md), apart from the ArtCraft name and logos, which are trademarks of the ArtCraft Team used under docs/brand/LICENSE-brand.txt. ffmpeg is used only as an external test oracle.

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 FilmCraft, 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. FilmCraft 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.

Frequently asked questions

Is filmcraft free to use?

filmcraft 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 filmcraft do?

An open-source, clean-room reimplementation of Adobe Premiere Pro built in pure Rust.

What is filmcraft written in?

filmcraft is primarily written in Rust. Its source is publicly available at https://github.com/storytold/filmcraft, and it has 1,343 GitHub stars.