remotion-dev/remotion · error · Error
<Clipper> has been removed as of Remotion v4.0.228. The nati
Error message
<Clipper> has been removed as of Remotion v4.0.228. The native clipping APIs were experimental and subject to removal at any time. We removed them because they were sparingly used and made rendering often slower rather than faster.
What it means
Thrown by the <Clipper> component whenever it renders. Clipper was an experimental native-clipping API removed in Remotion v4.0.228 because it was rarely used and often slowed rendering. The component is kept only as a stub that throws to surface the removal to anyone still importing it.
Source
Thrown at packages/core/src/Clipper.tsx:7
import type React from 'react';
/**
* @deprecated <Clipper> has been removed as of Remotion v4.0.228. The native clipping APIs were experimental and subject to removal at any time. We removed them because they were sparingly used and made rendering often slower rather than faster.
*/
export const Clipper: React.FC<{}> = () => {
throw new Error(
'<Clipper> has been removed as of Remotion v4.0.228. The native clipping APIs were experimental and subject to removal at any time. We removed them because they were sparingly used and made rendering often slower rather than faster.',
);
};
View on GitHub (pinned to 78fe4bb3fd)
Solutions
- Remove all <Clipper> usage from your compositions.
- Replace clipping needs with CSS overflow/transform-based clipping or the Sequence/layout primitives that Remotion supports.
- If you depended on a specific Clipper feature, file a feature request and use a workaround in the meantime.
Example fix
// before
import {Clipper} from '@remotion/core';
<Clipper />
// after
// remove the import and usage; use a div with overflow:hidden + transforms Defensive patterns
Strategy: type-guard
Validate before calling
// grep for stale usage before shipping an upgrade: // $ rg -- "<Clipper" src/ // remove every match before bumping Remotion past v4.0.228
Type guard
null
Try / catch
null
Prevention
- Search the codebase for <Clipper> before upgrading Remotion.
- Track removals in the Remotion changelog on major upgrades.
- Prefer CSS-based clipping over native APIs.
When it happens
Trigger: Importing and rendering <Clipper> in any composition after upgrading to v4.0.228+. The component body unconditionally throws on every render.
Common situations: Upgrading Remotion past v4.0.228 in a project that still references <Clipper>; copying old tutorial code that used Clipper; a dependency that transitively renders Clipper.
Related errors
- <Composition> was mounted inside the `component` that was pa
- <Composition> mounted inside another composition. See https:
- "seed" must be a finite number, but got ${JSON.stringify(see
- "hueShift" must be a finite number, but got ${JSON.stringify
- "hueShift" must be between 0 and 360, but got ${hueShift}
AI-assisted analysis of remotion-dev/remotion@78fe4bb3fd (2026-08-12).
Data as JSON: /api/errors/f7434be867f628ca.
Report an issue: GitHub.