editframe/editor

Ship a video editor
without building the hard parts.

Drop in a timeline, canvas, scrubber, and transform handles. Style everything to match your product. No video engineering experience required.

ef-workbench — my-video-editor
ef-focus-overlay
0s2s4s6s8s10s
ef-video
ef-text
ef-audio

What's included

Everything a video editor needs.
Nothing you have to build yourself.

Full editor — one line

<ef-workbench></ef-workbench>

Timeline, scrubber, preview, hierarchy, and export controls. Wired together. One component.

Or compose from parts

<ef-preview></ef-preview>
<ef-timeline></ef-timeline>
<ef-hierarchy></ef-hierarchy>

Components

ef-workbenchFull editor — preview, timeline, hierarchy, export
ef-timelineZoomable tracks, hierarchy, synchronized playback
ef-previewCanvas with zoom-to-fit and overlay integration
ef-canvasElement selection, drag-to-reposition
ef-transform-handlesDrag to resize and rotate on canvas
ef-trim-handlesDrag in/out points on the timeline
ef-hierarchyLayer panel with collapsible groups
ef-scrubberFrame-accurate seek, keyboard shortcuts
ef-pan-zoomPan and zoom the preview canvas
ef-focus-overlayFocus ring on selected element

Integration

Looks like your product, not ours.

Web components

import '@editframe/elements'

<ef-workbench></ef-workbench>

React

import { Workbench } from
  '@editframe/react'

<Workbench />

Every component exposes its internals via CSS ::part() selectors. Style any part of it with standard CSS: the track, the playhead, the handles, all of it. Your design system, applied in an afternoon. No theme system, no config files, no negotiation.

Common questions

Can our design team match our brand exactly? Every visual detail is overridable via CSS ::part() selectors: colors, radius, spacing, typography, all of it.

We're a React shop. Does this work? Import from @editframe/react. Same components, fully typed props, nothing extra to learn.

Do we have to use the full editor or can we pick components? Either. Drop in ef-workbench for everything wired together, or compose from individual parts.

CSS parts reference →
ef-timeline::part(track) {
  background: #1a1a2e;
  border-radius: 4px;
}
ef-timeline::part(playhead) {
  background: #e94560;
}
ef-transform-handles::part(handle) {
  background: #e94560;
}

Stop building the editor.
Start building the product.

Every component you need, pre-built and pre-wired. Style it to match your product and ship.