The open-source CapCut alternative
Go to file
Maze Winther 26594546ea fix: tighten track placement type safety 2026-03-31 22:12:50 +02:00
.github fix: build wasm before bun install in CI 2026-03-31 19:02:17 +02:00
.vscode chore: normalize line endings 2026-03-29 15:56:48 +02:00
apps fix: tighten track placement type safety 2026-03-31 22:12:50 +02:00
docs chore: normalize line endings 2026-03-29 15:56:48 +02:00
legacy chore: normalize line endings 2026-03-29 15:56:48 +02:00
rust feat: migrate time utilities from typescript to rust WASM 2026-03-31 04:03:52 +02:00
script feat: migrate time utilities from typescript to rust WASM 2026-03-31 04:03:52 +02:00
.dockerignore docker + update readme 2026-02-23 09:38:38 +01:00
.gitignore feat: migrate time utilities from typescript to rust WASM 2026-03-31 04:03:52 +02:00
.npmrc fix: CDN instead of app for databooty 2025-07-02 16:25:08 +03:00
AGENTS.md docs: rewrite agents file 2026-03-29 15:58:46 +02:00
Cargo.lock feat: migrate time utilities from typescript to rust WASM 2026-03-31 04:03:52 +02:00
Cargo.toml feat: migrate time utilities from typescript to rust WASM 2026-03-31 04:03:52 +02:00
LICENSE change app name from AppCut to OpenCut 2025-06-22 22:22:08 +02:00
README.md feat: init desktop app 2026-03-29 15:58:42 +02:00
biome.json feat: masks, properties refactor, shaders, storage migrations, and more 2026-03-29 15:48:22 +02:00
bun.lock refactor: centralize track placement into its own module 2026-03-31 15:47:30 +02:00
docker-compose.yml fix blog build when marble cms isn't available 2026-03-24 14:18:39 +01:00
package.json feat: migrate time utilities from typescript to rust WASM 2026-03-31 04:03:52 +02:00
tsconfig.json chore: normalize line endings 2026-03-29 15:56:48 +02:00
turbo.json feat: migrate time utilities from typescript to rust WASM 2026-03-31 04:03:52 +02:00
wrangler.jsonc chore: normalize line endings 2026-03-29 15:56:48 +02:00

README.md

OpenCut Logo

OpenCut

A free, open-source video editor for web, desktop, and mobile.

Sponsors

Thanks to Vercel and fal.ai for their support of open-source software.

Vercel OSS Program Powered by fal.ai

Why?

  • Privacy: Your videos stay on your device
  • Free features: Most basic CapCut features are now paywalled
  • Simple: People want editors that are easy to use - CapCut proved that

Features

  • Timeline-based editing
  • Multi-track support
  • Real-time preview
  • No watermarks or subscriptions
  • Analytics provided by Databuddy, 100% Anonymized & Non-invasive.
  • Blog powered by Marble, Headless CMS.

Project Structure

  • apps/web/ Main Next.js web application
  • apps/desktop/ Native desktop app (in progress)
  • src/components/ UI and editor components
  • src/hooks/ Custom React hooks
  • src/lib/ Utility and API logic
  • src/stores/ State management (Zustand, etc.)
  • src/types/ TypeScript types

Getting Started

Prerequisites

Note: Docker is optional but recommended for running the local database and Redis. If you only want to work on frontend features, you can skip it.

Setup

  1. Fork and clone the repository

  2. Copy the environment file:

    # Unix/Linux/Mac
    cp apps/web/.env.example apps/web/.env.local
    
    # Windows PowerShell
    Copy-Item apps/web/.env.example apps/web/.env.local
    
  3. Start the database and Redis:

    docker compose up -d db redis serverless-redis-http
    
  4. Install dependencies and start the dev server:

    bun install
    bun dev:web
    

The application will be available at http://localhost:3000.

The .env.example has sensible defaults that match the Docker Compose config — it should work out of the box.

Desktop setup

Desktop is opt-in. If you're only working on the web app, skip this entirely.

If you want to get ready for apps/desktop, see apps/desktop/README.md. It's a two-step setup: Rust toolchain first, then desktop native dependencies.

Self-Hosting with Docker

To run everything (including a production build of the app) in Docker:

docker compose up -d

The app will be available at http://localhost:3100.

Contributing

We welcome contributions! While we're actively developing and refactoring certain areas, there are plenty of opportunities to contribute effectively.

🎯 Focus areas: Timeline functionality, project management, performance, bug fixes, and UI improvements outside the preview panel.

⚠️ Avoid for now: Preview panel enhancements (fonts, stickers, effects) and export functionality - we're refactoring these with a new binary rendering approach.

See our Contributing Guide for detailed setup instructions, development guidelines, and complete focus area guidance.

Quick start for contributors:

  • Fork the repo and clone locally
  • Follow the setup instructions in CONTRIBUTING.md
  • Working on apps/desktop? See apps/desktop/README.md for setup
  • Create a feature branch and submit a PR

License

MIT LICENSE


Star History Chart