self-hosted 5 min read

OpenCut: the open source CapCut alternative

OpenCut is an MIT licensed open source CapCut alternative built with TypeScript and Rust on Bun, with 91,638 GitHub stars and a live site at opencut.app.

By
Share: X in
GitHub social preview card for OpenCut-app/OpenCut

TL;DR: OpenCut describes itself in four words as the open-source CapCut alternative, and the repository backs that up with 91,638 stars, 9,058 forks, an MIT license, and a live site at opencut.app. The interesting engineering is in the stack: TypeScript for the application, Rust for the heavy lifting, Bun for the runtime, and a Rust workspace checked in beside the app.

What the project claims

The description is the shortest one in this batch. The open-source CapCut alternative, with topics limited to editor, oss, and videoeditor. There is no feature list, so the case rests on adoption and on the code itself.

The numbers back the claim more convincingly than the description does. CapCut is a closed product with a very large user base, and an open alternative reaching 91,638 stars with nearly 9,000 forks is a serious attempt rather than a weekend clone. The fork figure matters most here. People fork a project like this when they intend to build something with it, or run it, not merely read about it.

The stack is the interesting part

GitHub’s language endpoint measures bytes per language, which is more informative than the single-language label on the repository page:

{
  "TypeScript": 223183,
  "Rust": 38455,
  "CSS": 4631
}

TypeScript carries roughly 84 percent of the measured bytes and Rust about 14.5. A Rust component inside a web-based video editor is not an accident. Timeline scrubbing, decoding, compositing, and export are the operations where a garbage collector pause is visible to the user, and Rust is the usual answer to that class of problem.

Treat that as a reading of the numbers rather than a documented design decision. The root of the tree is consistent with it, though.

The root of the repository

PathWhat it implies
Cargo.toml, Cargo.lock, crates/a Rust workspace, not an incidental dependency
apps/application code in a monorepo layout
bunfig.tomlBun as the JavaScript runtime and package manager
moon.yml, .moon/moonrepo driving tasks across the monorepo
.prototoolsthe Buf protobuf toolchain
changelog/changelog entries tracked in the repository
brand/brand assets kept alongside the code
.env.exampleenvironment configured from a template

The combination of Bun, moonrepo, and protobuf describes a deliberately modern toolchain, and it is a reasonably opinionated one. If you are coming from a webpack and npm background, expect to adjust. If you are picking a stack fresh, the project has already made the decisions for you.

For a quick summary of any repository in this category before you clone it:

curl -sL https://api.github.com/repos/OpenCut-app/OpenCut \
  | jq '{
      stars: .stargazers_count,
      forks: .forks_count,
      issues: .open_issues_count,
      license: .license.spdx_id,
      pushed: .pushed_at[0:10]
    }'

The rest of the metadata

FieldValue
Full nameOpenCut-app/OpenCut
Homepagehttps://opencut.app
LicenseMIT
Stars91,638
Forks9,058
Open issues374
Sizeabout 28 MB
Created2025-06-22
Last push2026-09-24

The homepage responds, returning HTTP/2 200 with HTML when checked, so the project is actively deployed rather than only published.

Three hundred and seventy-four open issues is the highest count in this batch, and it tracks with a project of this size and ambition. A repository this actively used will have a queue, and the number is better read as evidence of use than as a quality signal.

The last push on 2026-09-24, ten days before this writing, suggests the work is ongoing. A changelog directory at the root also means you can read what changed without reading a diff.

When it fits

Worth trying if you edit video regularly and want an editor you can run and modify yourself. MIT licensing means the code is yours to fork, and the Rust crates mean a performance problem is likely something you can fix rather than something you have to file.

It also serves as a reference implementation if you are building browser-based media tooling. Timeline architecture, export pipelines, and the Rust and TypeScript boundary are all visible in a repository with this many people depending on it.

When to skip it

Skip it if you need the full CapCut feature set today. An open alternative at this stage usually covers the core timeline and export path well and trails on effects, templates, and mobile. Judge the gap against the project changelog before you migrate a workflow you depend on.

Be honest about the cost of self-hosting an editor, too. Running a Rust toolchain, a Bun workspace, and a monorepo task runner locally is more moving parts than a downloaded desktop app, and that tradeoff is the price of owning the source.

Source and Accuracy Notes

  • Project page: https://github.com/OpenCut-app/OpenCut
  • Source repository: OpenCut-app/OpenCut (verified via GitHub API html_url)
  • License: MIT (verified via GitHub API license.spdx_id)
  • Stars at time of writing: 91,638
  • Additional verification: languages and contents API endpoints, and an HTTP status probe of the homepage