Beautiful, shareable screen recordings. Open source, fast, and built for teams that want to own their data.
Website | Download | Docs | Pricing | Discord
Cap is the open source alternative to Loom. It gives you fast screen recording, polished local editing, instant share links, comments, transcripts, analytics, team workspaces, custom domains, custom S3 storage, and full self-hosting when you need complete control.
Use Cap for product demos, bug reports, onboarding, tutorials, design reviews, engineering walkthroughs, async standups, client updates, and any moment where showing the work is faster than scheduling another call.
## Why Cap
- **Record, edit, share.** Capture your screen, camera, and microphone, then share a link or export a finished video.
- **Instant Mode for speed.** Upload while recording and get a shareable link the moment you stop.
- **Studio Mode for polish.** Record locally, edit with backgrounds, zooms, trimming, captions, and export controls.
- **Desktop apps for your team.** Cap runs on macOS and Windows, with a web dashboard for viewing, sharing, and managing recordings.
- **Own your storage.** Use Cap Cloud, connect your own S3-compatible bucket, keep recordings local, or self-host the full platform.
- **Privacy by default.** Share publicly or privately, add passwords, use your own domain, or keep sensitive recordings off hosted infrastructure.
- **Async collaboration.** Comments, reactions, transcripts, viewer analytics, and team workspaces keep feedback attached to the video.
- **Cap AI.** Generate titles, summaries, clickable chapters, captions, and transcripts automatically.
- **Move from Loom.** Import existing Loom videos into Cap and keep your library in one place.
## Recording Modes
| Mode | Best for | How it works |
| --- | --- | --- |
| Instant Mode | Fast feedback, bug reports, async updates | Cap uploads while you record, then gives you a share link as soon as recording stops. |
| Studio Mode | Product demos, tutorials, launches, client work | Cap records locally, opens the editor, and lets you export or share a polished video. |
## Data Ownership
Cap is designed for people and teams who do not want their recording workflow locked inside a black box.
- Use Cap Cloud for the fastest hosted experience.
- Connect AWS S3, Cloudflare R2, Backblaze B2, MinIO, Wasabi, or another S3-compatible provider.
- Serve share pages from your own domain.
- Self-host Cap Web, the API, database, media server, and object storage with Docker Compose.
- Point Cap Desktop at your self-hosted instance from `Settings > Cap Server URL`.
## Get Started
For most users, the fastest path is:
1. Download Cap for macOS or Windows from [cap.so/download](https://cap.so/download).
2. Sign in or create an account.
3. Choose Instant Mode or Studio Mode.
4. Record your first Cap.
5. Share the link, export the file, or keep it local.
The full product docs live at [cap.so/docs](https://cap.so/docs).
## Self-Hosting
The fastest way to self-host Cap Web is Docker Compose:
```bash
git clone https://github.com/CapSoftware/Cap.git
cd Cap
docker compose up -d
```
Cap will be available at `http://localhost:3000`.
Login links appear in the service logs when email is not configured:
```bash
docker compose logs cap-web
```
### Deployment Options
| Method | Best for |
| --- | --- |
| Docker Compose | VPS, home servers, and any Docker-capable host |
| [Railway](https://railway.com/new/template/PwpGcf) | One-click managed hosting |
| Coolify | Self-hosted PaaS deployments with `docker-compose.coolify.yml` |
[](https://railway.com/new/template/PwpGcf)
For production, configure public URLs and replace the default secrets before exposing the deployment to the internet:
```bash
CAP_URL=https://cap.yourdomain.com
S3_PUBLIC_URL=https://s3.yourdomain.com
```
See the [self-hosting guide](https://cap.so/docs/self-hosting) for email setup, AI providers, SSL, storage, production hardening, and troubleshooting.
## Local Development
Cap is a Turborepo monorepo with Rust, TypeScript, Tauri, SolidStart, Next.js, Drizzle, MySQL, Tailwind CSS, and shared media crates.
Requirements:
- Node.js 20 or newer
- pnpm 10.5.2
- Rust 1.88 or newer
- Docker for MySQL, MinIO, and local services
Install and set up the repo:
```bash
pnpm install
pnpm env-setup
pnpm cap-setup
```
Common commands:
| Command | Purpose |
| --- | --- |
| `pnpm dev` | Start the full local development stack |
| `pnpm dev:web` | Start the web app without the desktop app |
| `pnpm dev:desktop` | Start the desktop app |
| `pnpm build` | Build the workspace |
| `pnpm tauri:build` | Build the desktop release |
| `pnpm lint` | Run Biome linting |
| `pnpm format` | Format with Biome |
| `pnpm typecheck` | Run TypeScript project references |
| `cargo test -p