OpenCut (formerly AppCut) is a free and open-source video editor built for web, desktop, and mobile. It’s a privacy-respecting alternative to tools like CapCut — with all the core features and none of the paywalls.

Why OpenCut?
- Privacy-first – your videos stay on your device
- Free features – no watermark, no subscription, no paywalls
- Simple interface – inspired by what made CapCut popular
—
Key Features
- Timeline-based editing
- Multi-track support
- Real-time preview
- No watermarks or subscriptions
- Anonymous analytics powered by Databuddy
- Headless blog powered by Marble CMS
—
Project Structure
apps/web/
– Web frontend (Next.js)
src/components/
– UI and editor components
src/hooks/
– Custom React hooks
src/lib/
– Utility and API logic
src/stores/
– State management (Zustand)
src/types/
– TypeScript type definitions
—
Getting Started
- Fork the repo
- Clone your fork
- Go to web app folder:
cd apps/web
- Copy env file:
cp .env.example .env.local
- Install dependencies:
bun install
- Run dev server:
bun dev
App runs at: http://localhost:3000
—
Local Dev Setup with Docker
- Start DB and Redis:
docker-compose up -d
- Configure
.env.local
:
DATABASE_URL="postgresql://opencut:opencutthegoat@localhost:5432/opencut"
BETTER_AUTH_SECRET="your-generated-secret"
BETTER_AUTH_URL="http://localhost:3000"
UPSTASH_REDIS_REST_URL="http://localhost:8079"
UPSTASH_REDIS_REST_TOKEN="your_token"
MARBLE_WORKSPACE_KEY=example_key
NEXT_PUBLIC_MARBLE_API_URL=https://api.marblecms.com
NODE_ENV="development"
- Generate secure secret:
openssl rand -base64 32
- Run DB migration:
bun run db:migrate
- Start dev server:
bun run dev
—
GitHub Repository

—
OpenCut is community-first, privacy-focused, and developer-friendly. Fork it, build with it, or contribute to make editing truly open again.