RVE LogoReact Video EditorDOCS
RVE SDK/Quick Start/Get the Editor Running

Get the Editor Running

Get a working video editor on screen in under 5 minutes

This guide assumes you've already installed the SDK. By the end, you'll have a fully functional video editor rendering in your browser — with client-side video export working out of the box.


1. Import the Stylesheet

Add the SDK's CSS to your app's root layout or entry point:

app/layout.tsx (Next.js) or main.tsx (Vite)
import '@reactvideoeditor/react-video-editor/styles.css';

2. Create the Editor Page

app/editor/page.tsx
'use client';

import { ReactVideoEditor } from '@reactvideoeditor/react-video-editor/react-video-editor';
import '@reactvideoeditor/react-video-editor/styles.css';

export default function Home() {
  return (
    <ReactVideoEditor
      projectId="my-first-project"
      fps={30}
      disabledPanels={[]}
      defaultTheme="dark"
      showDefaultThemes={true}
      sidebarWidth="clamp(350px, 25vw, 500px)"
      sidebarIconWidth="57.6px"
      showIconTitles={false}
    />
  );
}

That's it. The editor will appear with:

  • A video player in the centre
  • A sidebar with these panels: Video, Camera, Text, Sound, Captions, Images, Shapes, Lottie, Zoom, Background, Templates, and Settings
  • A multi-track timeline at the bottom
  • Dark theme by default
  • Autosave to IndexedDB
  • Client-side video export enabled by default

3. What Happens Next

At this point, the editor is fully functional for editing and exporting. Users can add items, arrange them on the timeline, preview their video, and export an MP4 directly from their browser using WebCodecs.

No server endpoints are required for basic usage.

Need production rendering?

Use RVE Cloud Rendering for production volume, long videos, automations, AI agents, and browsers that do not support WebCodecs. RVE manages the rendering infrastructure and job monitoring.


Common Options

Here are the most common props you'll want to configure:

<ReactVideoEditor
  projectId="my-project"

  // Restore a previous session (pass the object from onSave)
  editorState={savedState}

  // Video settings
  fps={30}

  // Appearance
  defaultTheme="dark"
  showDefaultThemes={true}

  // Sidebar
  disabledPanels={['shape', 'zoom']}

  // Optional: add RVE Cloud Rendering or a self-managed renderer
  customRenderer={myRenderer}
  enableWebRender={true}

  // Callbacks
  onSave={(state) => console.log('Editor state saved:', state)}
/>

Panel ids for disabledPanels

disabledPanels takes an array of panel ids. The editor removes these panels from the desktop sidebar.

PanelId
Video'video'
Camera'camera'
Text'text'
Sound'sound'
Captions'caption'
Images'image'
Shapes'shape'
Lottie'lottie'
Zoom'zoom'
Background'background'
Templates'template'
General (screen-recording mode only)'general'
Cursor (screen-recording mode only)'pointer'

You cannot remove the Settings panel with disabledPanels.

See the full ReactVideoEditor props reference for all available options.