Remotion

A React framework for creating videos programmatically with code, real browser rendering, and server-side or cloud-scale export.

Framework
npm
v4.0.529
60,780 stars
Remotion License (free for individuals and small companies; paid company license required above a size threshold)

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
92 /100 Excellent
Development Activity 100
Maintenance 100
Community 68
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
87 /100 Excellent
Architecture 92
Code Quality 85
Innovation 92
Learning Curve 80

Remotion turns video creation into a programming problem. Every frame of a video is a React component tree evaluated at a specific point in time, so instead of dragging clips on a timeline you write <Composition> definitions, animate values with interpolate() and spring(), and let the actual DOM/CSS/SVG rendering engine of a headless browser paint each frame. That means you get real web layout, real fonts, real data-binding, and a live preview studio, then export deterministic pixel-perfect video by rendering every frame and stitching them with FFmpeg.

The project is organized as a large monorepo where the remotion package is the lean core (Composition/Sequence primitives, animation helpers, zero runtime dependencies beyond React) and dozens of @remotion/* packages add capability on top: @remotion/cli for command-line rendering, @remotion/player for embedding a live preview in any React app, @remotion/renderer for server-side/Node rendering via a bundled headless Chromium, and @remotion/lambda for rendering at scale on AWS infrastructure. This makes Remotion equally suited to hand-authoring a single explainer video, generating thousands of personalized videos from a data feed, or building a full in-browser video editor on top of its primitives.

What You Get

  • <Composition> and <Sequence> primitives for declaring named, dimensioned, timed video scenes as ordinary React components.
  • Frame-accurate animation hooks — useCurrentFrame(), interpolate(), spring(), and easing utilities for deterministic per-frame values.
  • A local Studio with a scrubbable timeline, hot reload, and prop editing for iterating on a video the way you’d iterate on a web app.
  • Server-side and cloud rendering — @remotion/renderer for Node/CLI rendering via headless Chromium, @remotion/lambda for distributed rendering on AWS.
  • An embeddable player (@remotion/player) to drop a live Remotion composition straight into any React application, not just export it as a file.
  • A wide first-party package ecosystem — captions, GIFs, Lottie/three.js integration, media parsing, TikTok/webcodecs helpers — for extending compositions without hand-rolled glue code.

Common Use Cases

  • Generating personalized or data-driven videos in bulk (e.g. one rendered video per row of a CSV or API response).
  • Building marketing, product-demo, or social-media videos as versioned, reviewable code instead of opaque editor project files.
  • Embedding a live, interactive video/animation player inside a product UI using @remotion/player.
  • Rendering video at scale in CI or serverless infrastructure (AWS Lambda) for SaaS products that generate video on demand.
  • Building custom in-browser video editing tools on top of Remotion’s composition and rendering primitives rather than starting from FFmpeg directly.

Under The Hood

Architecture The monorepo separates concerns cleanly: packages/core (published as the remotion npm package) defines only the composition/rendering primitives (Composition.tsx, Sequence, CompositionManager, the useCurrentFrame/interpolation layer) and depends on nothing but React as a peer dependency, so it can be embedded in any React tree without pulling in rendering machinery. Everything execution-heavy — headless-browser driving, frame capture, FFmpeg stitching, cloud dispatch — lives in sibling packages (@remotion/renderer, @remotion/cli, @remotion/lambda, @remotion/player) that depend back on remotion for the primitives. This means the render pipeline (bundle with webpack/esbuild → spin up headless Chromium → seek to each frame → capture → encode via FFmpeg) is fully decoupled from how a composition is authored, and the same composition can be rendered locally, on Lambda, or embedded live via the Player without changing component code.

Tech Stack The project is TypeScript-first across ~40+ workspace packages, built with a Turborepo pipeline (turbo run make) and Bun for scripting, with per-package tsc/tsgo builds emitting both CJS and ESM output. Core rendering depends on a bundled/downloaded headless Chromium plus a native Rust-based compositor (packages/compositor* with platform-specific prebuilt binaries) for frame compositing performance, and FFmpeg for final video encoding. Cloud rendering integrates directly with AWS Lambda/S3 (@remotion/lambda), and a large satellite package set (captions, GIFs, Google Fonts, ElevenLabs, three.js/GSAP bindings) is managed under the same monorepo and versioned in lockstep.

Code Quality The core package has an extensive src/test suite (dozens of files covering composition validation, sequencing, drag/prop overrides, easing math, and media resource handling) run with Bun’s test runner, plus a project-wide turbo run lint test CI gate, ESLint via an internal shared config, and strict TypeScript (strict: true, noUnusedLocals/Parameters) across packages. Formatting is enforced via a custom oxfmt toolchain and a repo-wide pre-commit script, indicating a maintained, consistently-styled codebase rather than an assemblage of loosely-linked packages.

What Makes It Unique Remotion’s core insight — that a video frame is just a deterministic function of time rendered through a real browser engine — lets it reuse the entire web platform (CSS animations, SVG, WebGL, arbitrary React data-fetching) as a video-authoring surface instead of building a bespoke video-editing DSL. Combined with first-class support for both a local interactive Studio and headless/distributed rendering (including AWS Lambda) from the same component code, it occupies a distinct niche between traditional video editors and raw FFmpeg scripting: video production that is fully version-controlled, testable, and programmatically generatable at scale.

Used by 7 apps in this directory

TypeScript
45%
AGPL 3.0

BrowserOS

AI Assistants · Browser

13,763

The open-source agentic Chromium browser with native AI agents, MCP server, and visual workflow automation — your data never leaves your machine.

View details
87
Repo Health
82
Technical
68
Dependency
Built with
TypeScript 45%
Rust 23%
Python 18%
Updated 4 days ago
Rust
80%
MIT

fabro

Developer Tools · Devops

1,658

Define AI agent workflows as code graphs, route tasks across any LLM, and intervene only where it matters.

View details
82
Repo Health
83
Technical
67
Dependency
Built with
Rust 80%
TypeScript 15%
Updated 5 days ago
TypeScript
71%
Apache 2.0

open-design

Design Tools

98,365

Local-first, open-source Claude Design alternative that turns your existing coding agent CLI into a full agentic design studio — with 259+ skills, 142+ design systems, and sandboxed artifact delivery across web, desktop, and mobile surfaces.

View details
85
Repo Health
86
Technical
72
Dependency
Built with
TypeScript 71%
HTML 22%
Updated 4 days ago
TypeScript
75%
MIT

OpenCode

AI Code Assistants

210,460

A fully open-source AI coding agent built for the terminal, with a TUI, desktop app, web client, plugin system, and SDK — one of the most-starred AI coding agents on GitHub.

View details
89
Repo Health
76
Technical
67
Dependency
Built with
TypeScript 75%
MDX 22%
Updated 4 days ago
AGPL 3.0

OpenMontage

AI Agents · Video Editors

61,889

Open-source agentic video production system: your AI coding assistant researches, scripts, generates, edits and renders finished videos through approval-gated pipelines with budget controls.

View details
70
Repo Health
87
Technical
75
Dependency
Python
67%
Apache 2.0

SurfSense

AI Assistants · Search

16,270

The open-source, unlimited NotebookLM alternative with real-time collaboration, a desktop app, and no vendor lock-in.

View details
87
Repo Health
71
Technical
66
Dependency
Built with
Python 67%
TypeScript 30%
Updated 6 days ago
AGPL 3.0

VoiceStudio

Mcp · Music Audio · Voice AI

50,643

Open-source, fully local ElevenLabs alternative for voice cloning, voice design, video dubbing, dictation, transcription and audiobooks, with a local API and MCP server for agents.

View details
84
Repo Health
83
Technical
70
Dependency

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