- Category
- Developer Tools
- Rank
- No. 2410Tools index
Previous survey · No. 1406 ·
- Pricing
- Open Source
- Type
- APP
- Use case
- Design & Media
- Interfaces
- Web
- Builder
- @opencutapp
- GitHub
- 94.1k stars
- Latest release
- ffmpeg-8.1.3-1
- Date
About
OpenCut is a free, open-source video editor that runs in the browser, aiming to be a privacy-first alternative to closed editing tools. The project is currently undergoing a ground-up rewrite that adds a plugin-first architecture, a shared Rust core for web/desktop/mobile, a planned MCP server for AI agents, and a headless mode for automated batch rendering.
What it does
A video editor you open in a browser tab, with desktop and phone versions promised from the same code. This repository is a from-scratch rebuild, not the editor people use today. The working editor lives in a separate classic repository and still powers the main site. The rebuild aims to put a shared Rust core under web, desktop and mobile, expose an editing interface that outside plugins and scripts can drive, add a Model Context Protocol server so AI agents can operate the editor, and offer a headless mode for batch rendering without a screen.
Why it's ranked here
The case rests on direction and license, not on shipped features in this tree. It is MIT licensed, the maintainers list agent control and headless batch rendering as explicit goals, and the changelog shows a team that already moved timing, compositing and masking into Rust compiled for the browser. That is a credible base for an agent-drivable editor. But in this repository the web editor page reads "Coming soon", the desktop app is a window with a placeholder timeline, and the server answers only health checks. Rank it for where it is heading; use the classic version for editing today.
What's good
Time handling is exact: the changelog describes whole-number ticks at 120,000 per second, chosen so every standard frame rate, including 23.976 and 29.97, divides evenly, replacing floating-point seconds that drifted. The media setup script verifies every download against a SHA-256 checksum, builds only the shared LGPL parts of FFmpeg with auto-detection off so every platform decodes the same formats, and writes the build into a staging folder before moving it into place, so an interrupted run never looks complete. Continuous integration runs on Linux, Windows and macOS.
Tradeoffs
Almost nothing in this repository edits video yet. The desktop readme calls itself "very early" and says the app is just a window that opens. The agent server, plugin system, headless mode and scripting tab are listed as coming, with no code for them in the files read. Outside contributions are not accepted while the architecture is designed. Several web and server dependencies float on the latest tag, so builds can change underneath you. On Linux the desktop build needs Vulkan drivers and several system libraries, and the first build compiles its interface toolkit from source.
How to use it well
If you need to cut video now, use the classic version the readme points to; it is the one the public site runs. Watch this rebuild if you want an open, MIT licensed editor that AI agents or scripts can drive, or one you can run headless for batch rendering, since those are its stated goals and no finished code for them exists here yet. Contributors should follow along through the Discord or issues rather than pull requests for now. It is not a fit for anyone who needs a stable automation interface this quarter.
Technical notes+
A moon/proto monorepo. apps/web/package.json is a TanStack Start plus Vite app deployed with wrangler to Cloudflare, and apps/web/src/routes/editor.tsx renders only a "Coming soon" heading. apps/api/src/index.ts is an Elysia app on the Cloudflare Worker adapter exposing root, health and echo routes. apps/desktop/src/main.rs opens a GPUI window and strips WAYLAND_DISPLAY under WSL to dodge a GPUI xdg_wm_base panic; apps/desktop/src/panels/timeline.rs is a labelled placeholder div. Cargo.toml lists only apps/desktop as a workspace member, with crates commented out. crates/media/setup/setup.ts fetches or builds pinned FFmpeg with --disable-network and --disable-autodetect, cross-compiling Windows from Linux via llvm-mingw. .github/workflows/bun-ci.yml runs moon ci on a three-OS matrix.
Observed
- License
- MIT
- Languages
- TypeScript (web, API, tooling) and Rust (desktop)
- Desktop UI toolkit
- GPUI
- Web deployment target
- Cloudflare Workers via wrangler
- Build tooling
- moon task runner with proto-pinned toolchains
- CI platforms
- Linux, Windows and macOS
- Media decoding
- Pinned FFmpeg, shared LGPL libraries only, checksum-verified
- Agent interface
- MCP server listed as planned; no implementation in files read
- Contributions
- Outside contributions not accepted during the rewrite
Read from README.md, Cargo.toml, LICENSE, apps/web/package.json, apps/api/src/index.ts, apps/api/package.json, apps/desktop/src/main.rs, apps/desktop/Cargo.toml, apps/desktop/README.md, apps/desktop/src/panels/timeline.rs, apps/web/src/routes/editor.tsx, crates/media/setup/setup.ts, changelog/0.3.0.md, .github/workflows/bun-ci.yml.
What it can do
Edit video files in the browser
Video file → Edited video
Tags
Tech Stack
Media

Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.