storytold /filmcraft

FilmCraft: An open-source, nonlinear video editor written from scratch in pure Rust

★ 17,955⑂ 7,342👁 84⑃ 2,451● 2,093▤ 20◈ 0
RustApache-2.0Created 2026-09-30getartcraft.com/apps/filmcraft
17,955
stars
+89
7,342
forks
84
watchers
2,451
prs
2,093
issues
20
releases
0
discussions

README

FilmCraft


  Video editing, color and sound; an open-source, professional non-linear video editor, built in pure Rust.



  An open-source, modern non-linear video editing workflow: native on macOS, Windows and Linux, and in the browser via WebAssembly.
  By the ArtCraft team.



  
  
  
  
  
  
  



  



  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 ·
  Downloads ·
  Docs ·
  Status




FilmCraft is a professional non-linear editor: familiar 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; export sequence review notes with Markers ▸ Export Markers as CSV…; add edit (⌘K) on one or all tracks; nesting; copy, paste and paste insert; ripple delete and close gap; snapping; unlimited undo with a Histor

Top issues

Latest release

FilmCraft v0.18.0 v0.18.0 2026-11-06
What's Changed
 web: check MP4 sample extent before allocating its buffer by @dylanmtaylor in https://github.com/storytold/filmcraft/pull/4102
 avi: hold child chunks to their container so lists cannot overlap by @dylanmtaylor in https://github.com/storytold/filmcraft/pull/4106
 security(dnx): cap decoded frame memory and reject repeated scan line indices by @dylanmtaylor in https://github.com/storytold/filmcraft/pull/4101
 security(apv): size the auxiliary alpha frame only after its tiles decode by @dylanmtaylor in https://github.com/storytold/filmcraft/pull/4109
 web: load only a same-origin

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON