Skip to main content

Get started in three steps

This guide will get you from zero to editing your first video in OpenCut as quickly as possible.
1

Install prerequisites

Install Bun, the JavaScript runtime and package manager used by OpenCut:
curl -fsSL https://bun.sh/install | bash
Bun is like npm or yarn but faster. If you already have Node.js installed, you can also use npm, but Bun is recommended for the best experience.
Docker is optional but recommended if you want authentication and project saving features. For frontend-only editing features, you can skip Docker.
  • Docker Desktop: Download here
  • Docker Compose: Included with Docker Desktop
If you skip Docker, you can still use OpenCut for editing, but user accounts and cloud sync won’t work.
2

Clone and setup

Clone the repository and install dependencies:
# Clone the repository
git clone https://github.com/OpenCut-app/OpenCut.git
cd OpenCut

# Copy environment file
cp apps/web/.env.example apps/web/.env.local

# Install dependencies
bun install
If you installed Docker, start the database and Redis:
docker compose up -d db redis serverless-redis-http
This starts:
  • PostgreSQL database on port 5432
  • Redis cache on port 6379
  • Serverless Redis HTTP adapter on port 8079
The .env.example file has sensible defaults that match the Docker Compose config. It should work out of the box.
3

Start editing

Start the development server:
bun dev:web
Open http://localhost:3000 in your browser and start editing!
You’re all set! OpenCut is now running locally. Try importing a video and exploring the timeline editor.

Verify installation

Once OpenCut is running, you should see:
  • The OpenCut homepage at http://localhost:3000
  • An empty project timeline ready for editing
  • The ability to import media files
If you encounter issues:
If port 3000 is already in use, you can change it:
PORT=3001 bun dev:web
Or kill the process using port 3000:
# macOS/Linux
lsof -ti:3000 | xargs kill

# Windows
netstat -ano | findstr :3000
taskkill /PID <PID> /F
Make sure Bun is in your PATH. After installation, restart your terminal or run:
# macOS/Linux
source ~/.bashrc  # or ~/.zshrc

# Windows
# Restart PowerShell
If you’re seeing database errors:
  1. Make sure Docker is running: docker ps
  2. Check if the database container is healthy: docker compose ps
  3. Verify the DATABASE_URL in apps/web/.env.local matches the Docker config
Default value:
DATABASE_URL="postgresql://opencut:opencut@localhost:5432/opencut"

Next steps

Now that OpenCut is running:

Explore features

Learn about timeline editing, multi-track support, and more

Keyboard shortcuts

Speed up your workflow with keyboard shortcuts

Full installation

See detailed installation options including self-hosting

Contributing

Help improve OpenCut by contributing code or reporting bugs

Available scripts

Here are the most useful commands for development:
# Start web app in development mode
bun dev:web

# Build web app for production
bun build:web

# Run linting
bun run lint:web

# Fix linting issues
bun run lint:web:fix

# Format code
bun run format:web

# Run tests
bun test
The development server supports hot module replacement (HMR), so your changes will appear instantly without refreshing the page.

Build docs developers (and LLMs) love