OpenReel Video

A browser-based, GPU-accelerated video editor with multi-track timelines, color grading, and 4K export — no uploads, no installs, no watermarks.

5.1Kstars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
66/100Good
Development Activity64
Maintenance72
Community60
Maturity28
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
80/100Excellent
Architecture82
Code Quality84
Innovation80
Learning Curve75

OpenReel Video is an open source, professional-grade video editor that runs entirely in the browser using WebCodecs and WebGPU. Positioned as an open alternative to CapCut, it handles multi-track timeline editing, transitions, keyframe animation, color grading, and multi-track audio mixing without ever sending footage to a server — every frame is decoded, composited, and encoded client-side, so projects stay private and work offline once loaded.

The feature set goes well beyond basic trimming: a professional text engine with 20+ animations and karaoke-style word highlighting, shape and SVG tooling, a full color-grading suite with wheels, curves, and 3D LUT support, audio effects (EQ, compressor, reverb, noise reduction) with beat detection, and export to MP4/WebM/ProRes at up to 4K using hardware-accelerated WebCodecs encoding. An AI upscaling pass built on WebGPU shaders and built-in screen recording round out the toolset.

Under the hood it’s a pnpm monorepo: a React 19 + TypeScript web app (apps/web) sits on top of an engine-separated core package (packages/core) that isolates video, audio, graphics, text, and export logic behind independent modules, with Zustand for state, IndexedDB for auto-saved project storage, and a progressive-enhancement path from WebGPU down to a Canvas2D fallback. Separate apps/desktop, apps/studio, and apps/image packages extend the same core engines to other surfaces.

The project is MIT licensed with no paid tier, license keys, or self-hosting restrictions, and describes its own development process as AI-managed — Claude reviews issues and implements changes with human maintainer oversight — which shows up as fast issue turnaround and a large, actively growing test suite.

What You Get

  • A multi-track timeline supporting unlimited video, audio, image, text, and graphics tracks with frame-accurate trim, split, and ripple-delete editing
  • A full color-grading suite: lift/gamma/gain wheels, HSL adjustments, RGB curves, 3D LUT import, and one-click presets
  • Professional text and graphics tools — 20+ text animations, karaoke-style subtitle highlighting, shape/SVG import, and a background generator with gradients and patterns
  • Multi-track audio mixing with EQ, compressor, reverb, noise reduction, beat detection, and automatic ducking under dialog
  • Keyframe animation on any property with 20+ easing curves, plus unlimited undo/redo and IndexedDB auto-save so work is never lost
  • Hardware-accelerated export to MP4 (H.264/H.265), WebM (VP8/VP9/AV1), and ProRes up to 4K@60fps via WebCodecs, with AI-based upscaling

Common Use Cases

  • Editing short-form social content (TikTok/Reels/Shorts style cuts) without installing desktop software or uploading raw footage anywhere
  • Privacy-sensitive editing workflows — journalists, legal teams, or anyone who can’t send source video to a third-party cloud service
  • Quick screen-recording-to-published-video workflows using the built-in recorder plus timeline trim and export
  • Color grading and audio cleanup on existing footage using the LUT, curves, and noise-reduction tooling without a paid NLE license
  • Teaching or prototyping video-editor UI/engine architecture, since the WebGPU/WebCodecs core is a real-world reference implementation

Under The Hood

Architecture OpenReel is structured as a pnpm/Turborepo-style monorepo that cleanly separates UI from engines: apps/web (React 19 + TypeScript, roughly 66k lines) owns components, Zustand stores, and a set of “bridge” modules (audio-bridge.ts, render-bridge.ts, playback-bridge.ts, etc.) that coordinate between UI state and the underlying engines, while packages/core (roughly 59k lines) implements video, audio, graphics, text, and export as independent, side-effect-isolated modules re-exported through a single index.ts barrel. Every edit is modeled as an undoable action against immutable Zustand state, and the video pipeline degrades gracefully from WebGPU compositing to a Canvas2D fallback renderer when GPU acceleration isn’t available. Additional apps (apps/desktop, apps/studio, apps/image) reuse the same core engines rather than reimplementing rendering logic, which is a real test of the engine-separation boundary holding up across very different host environments.

Tech Stack The stack centers on React 19 and TypeScript for the UI, Zustand for lightweight state management, and MediaBunny for underlying media processing, layered with the WebCodecs API for hardware video encode/decode and WebGPU for GPU-accelerated compositing and shader-based upscaling. Web Audio API drives the audio engine (EQ, compressor, reverb, beat detection), THREE.js handles 3D transforms and perspective effects, and IndexedDB backs local, auto-saved project storage. Build tooling is Vite with Vitest for tests, TailwindCSS for styling, and Wrangler for deployment to Cloudflare Pages; a Rust/WASM build step (build:wasm) also feeds into the core package for performance-critical paths.

Code Quality The repository carries an extensive Vitest test suite spread across the web app, core engines, and companion packages (agent-runner, creation-bindings), including dedicated tests for tricky surfaces like WebCodecs export limits, color-grading defaults, canvas-fit math, and IPC contracts in the desktop app — a strong signal for a project this feature-dense. ESLint with the TypeScript and React-hooks plugins runs via pnpm lint, tsc --noEmit gates every web build, and GitHub Actions CI (ci.yml) plus a dedicated Claude-driven review workflow run on every change. Naming and file organization are consistent (feature-scoped bridges, engines, and stores), and TypeScript is used throughout rather than bolted on.

What Makes It Unique What sets OpenReel apart from most browser video tools is the depth of the feature set attempted entirely client-side — GPU-accelerated 4K compositing, ProRes-quality export, spectral audio effects, and AI upscaling all running in the browser tab with zero server round-trip, which is a genuinely hard engineering target given the practical limits of WebCodecs/WebGPU support across browsers. The project is also explicit about running its day-to-day maintenance through AI-assisted issue triage and code review with human sign-off, which is an unusual and transparent development model for a project of this scope and size.

Self-Hosting

Licensing Model MIT licensed — all features are available in the hosted app and in any self-hosted or locally-run build with no restrictions or license keys required.

Self-Hosting Restrictions None found — running pnpm dev or pnpm build locally exposes the same feature set as the hosted openreel.video instance.

Enterprise Features There is no separate enterprise or paid tier; the project has no pricing page and is funded via GitHub Sponsors rather than a commercial edition.

License Key Required No — the codebase has no license-gating, feature-flag-for-payment, or license-check logic.

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search