Agents: this editor is scriptable from the page. Open the editor and run editorAgent.help() in the page's JavaScript, or read /AGENTS.md on this origin.
cutvid Start editing

Everything in the box.

53 of them, and every line names something in this build. Free, in a browser tab, with the footage never leaving the machine.

Start editingSee everything it does

The cut

Every edit is a command on one bus, undone the way it was done.

  • Insert and overwriteA clip between what is there, or over it. Positions come from the clips; nothing is stored twice.
  • Razor and rippleSplit at a frame. Trim an edge and everything after follows, or stays put.
  • Sync-locked tracksAn insert on the picture moves the sound by the same frames.
  • Track select forwardOne key and a click take every clip from there to the end.
  • Freeze framesA half-second hold at the frame, absorbed by the gap after the clip or laid on the track above. The tool shows where the video already holds still.
  • Speed, reverse, loopA clip at any rate, backwards, looped or boomeranged.
  • Nested sequencesA sequence is a clip in another, with transitions on it, into it and inside it.
  • Markers and a gap finderName a moment. Find the one-frame gap that should not be there.
  • Linked picture and soundThe halves of a clip move together until told not to.
  • History that is the documentUndo, redo and a journal on disk. A closed tab costs nothing.
The timeline: four clips with a crossfade and a push, a title above, music beneath

Picture

Transitions and animations from one catalogue, and a rail for everything else.

  • 33 transitionsDissolve, dips, push, wipes, blinds, iris, zooms, whip pan, spin, glitch, light leaks, film burn, or leak footage of your own.
  • 13 entrances and 10 loopsFade, zoom, slide, rise, drop, pop, twirl, shake, blink. Breathe, pulse, sway, bob, drift, pan, spin. On any layer, in, during and out.
  • TransformPosition, scale, rotation about an anchor of your choosing, skew, crop, opacity, rounded corners and blend modes.
  • KeyframesAny of those over time, in lanes under the clip.
  • Chroma keyKey a colour out of a clip, or out of a whole nested sequence.
  • Grades from LUTsA .cube file is a bin asset. Drop it on a clip.
  • Shadows and blurA drop shadow, an inner shadow and a layer blur, each with spread.
  • Titles that kernLines set like the type they are. Letters, words or blocks animate in, during and out.
  • Shapes, paths, stillsRectangles, a pen for paths, and images on the timeline in their own colour.
The editor with a clip selected and its animation tab open: cards for the entrance, the loop and the exit

Sound

A chain on every clip, and a mix that fills in around the playhead.

  • Gain, fades, metersPer clip, drawn on the waveform. The meters read the mix.
  • An audio chainHigh-pass, three bands of EQ, denoise, a gate, a compressor, a de-esser, a notch, echo and room.
  • Six room presetsVoice, noisy room, podcast, telephone, hall, slapback.
  • Auto-duckingMusic dips under the dialogue as keyframes that can be moved.
  • Silence stripDead air found and proposed as cuts, shown on the timeline before they are made.
  • LoudnessAn export normalised to a LUFS target.
The editor with an audio clip selected: its gain, fades and the chain of effects in the rail

Speech and text

Transcribed here, in the tab, with nothing sent anywhere.

  • TranscriptionWhisper in the browser, two model sizes, many languages.
  • SpeakersWho said what, told apart and named.
  • Cut by the wordsStrike text in the transcript editor and the picture and the sound follow.
  • Search spoken wordsThe bin finds a clip by what is said in it.
  • CaptionsWritten on the timeline. An .srt beside the export.
  • On-screen textA scan reads the text in the picture, so a slide is found by its title.
The transcript editor: two speakers’ lines over a scene, with a filmstrip beneath

Capture

Recorded straight into the bin, without leaving the page.

  • ScreenA screen, window or tab, with its audio and the microphone.
  • Screen and cameraThe screen with the camera in its corner.
  • Camera and voiceThe camera, or the microphone alone for a voice-over.
  • Photo and screenshotOne frame from either, as an image.
The record menu: screen, screen and camera, camera, voice, a photo, a screenshot

Files

Offline first. The work is in this browser, and it leaves as one file.

  • No account, no uploadProjects and media live in the browser’s own storage.
  • Works offlineInstallable. The app keeps a copy of itself.
  • Media by contentEvery file is known by its hash: shared between projects, relinked by it.
  • ProxiesLighter copies for playback. The export never uses them.
  • HEVC without the GPUAn H.265 file is decoded by FFmpeg in wasm and kept as H.264, so a driver that cannot take it never sees it.
  • BackupsOne .cutvid file with the document and every original it uses. Restore it anywhere.
  • Every export in one placeThe projects screen lists the renders kept in every project’s .exports bin: play, download or delete without opening one.
  • A CRDT documentEvery edit merges. Two copies of a project come back together.
The projects screen: the projects on this device as cards, with the sort and the view

Export

Rendered in the tab with WebCodecs, straight to a file.

  • MP4, H.264 and AACOr the sound alone as .m4a. Presets, or a size and a rate of your own.
  • Rate controlA bitrate, or a quantizer for an exact quality.
  • RangesThe whole sequence, or the part between the marks.
  • PreflightA missing original stops it. Everything else is a warning that can be read.
  • The frame while it runsThe picture being encoded, on screen, so a mistake shows here and not in the file.
  • Left to itselfOr in the activity dock, the file saved the moment it is written. Keep editing, or open another project.
An export in progress: the frame being encoded, with the count and the time left

Scripting

The interface and a script use the same commands.

  • window.editorAgentEvery edit as a command. help() in the console prints the reference.
  • Agent sessionsA script’s edits stay out of your undo and revert as one.
  • Dry runs and checkpointsSee what a batch would do. Go back to a named point.
  • 60 keyboard actionsThe whole keymap, named, one key each.

What it does not do

  • Export is H.264 video and AAC audio in an MP4, or the sound alone as .m4a. No ProRes, no DNxHD, no H.265 out, no image sequences.
  • No team features: no cloud project, no review link, no comments, no shared library. A project lives in one browser, and moves as a file.
  • No stock library and nothing generative: no stock clips, no music bed, no AI b-roll, no generative fill.
  • No third-party plugins. No OpenFX, no VST, no motion-graphics templates from another app.
  • Colour is LUTs and the effect rail, not scopes, curves and secondaries. A .cube grades a clip; there is no vectorscope to grade against.
  • Built and checked in Chromium browsers, which is where WebCodecs is furthest along. Other browsers vary by codec and by version.
  • It runs in a tab, on one machine. A long 4K timeline is heavier here than in a native application on the same computer.

Open it and cut something.

No account, no install, nothing uploaded. The first edit takes as long as a page load.

Start editingSee everything it does