Simple Editor (Beta)
A tiny, blazingly-fast, free and open-source video editing software for every
editing-need. Written in 100% Rust.
Simple Editor is a tiny, fast video trimmer/editor for Windows. Open a video, watch it,
cut it, add music/SFX, overlay images/video/text, keyframe things — and save over the
original or export to any format. It's built in Rust with egui, ships as a single
~10 MB exe, starts instantly, and stays light on CPU, GPU and memory.
Features
- Decoding: Windows Media Foundation (native system codecs, no extra DLLs, instant seeks); ffmpeg.exe as a universal fallback (and for images).
- Export: ffmpeg.exe — any container/codec by extension (mp4, mov, mkv, webm, avi, gif, mp3, wav…), hardware encoders (NVENC/QSV/AMF) selectable in Settings.
- Fast Lossless Cut (
-c copy) for plain cuts — optionally also for Ctrl+S — instant but keyframe-accurate.
- Timeline: multiple video + audio tracks, per-track mute/solo, linked audio/video clips, split (Ctrl+B), ripple delete, trim by dragging edges, snapping, waveforms, keyframe diamonds.
- Drag-to-resize track heights, Ctrl+Scroll zoom / Shift+Scroll pan / Alt+Scroll track height, draggable playhead, in/out points.
- Inspector: position / scale / rotation / opacity / volume with keyframes, 13 blend modes.
- Text tool: system fonts, size, bold/italic, fill/outline/shadow/box, alignment, spacing.
- Import URL… (Library): paste a link and yt-dlp downloads it straight into the library — audio-only for music/SFX.
- GPU effects: the preview runs the effect chain as OpenGL shaders — blur, motion blur, VHS, chroma key, curves/levels/hue, edge glow, threshold, 3D plane, JPEG crush, blob tracking, REC dot and your own GLSL shader. No GL context, old driver, or a rejected shader → automatic CPU compositor fallback.
- Preview render quality (25–100%) and movie mode (play back pre-rendered full-quality frames).
- Tools, shapes and masks: select, text, rectangle / ellipse / triangle / polygon / star / line / arrow, freehand draw, mask, zoom — vector shape clips, adjustment layers that process everything below them, masks on a clip or on a single effect.
- Node editor: a clip's effect stack as a graph (blend, matte, mask and clip inputs) when a straight stack isn't enough; the Curves pane keyframes node parameters too.
- Mixer: audio buses with EQ, high/low-pass, reverb, echo, distortion, compressor, noise gate, noise and gain; per-track and per-clip routing, meters, mute/solo/mono.
- Markers on the timeline and on clips (M), with colour labels, notes and a "copy as list" for AI tools.
- Copy / Paste Attributes (Ctrl+Alt+C / Ctrl+Alt+V) with a checkbox per attribute group.
- Export Frame (Ctrl+Shift+F) as PNG / JPG / WebP, at project size, 2×, 4× or a custom size.
- Screen recording and voiceover through ffmpeg — including "record while the editor is in the background," which starts when the window loses focus and stops (and imports) when it comes back.
- Import timelines from Premiere / DaVinci Resolve (Final Cut Pro 7 XML), EDL and
.prproj, with an honest per-item report of what did not survive the trip.
- Library + Recent panels (recent media across projects), drag & drop from Explorer.
- Theme: follows Windows dark/light + accent colour. Bare Windows-forms style, DaVinci-like layout.
- Hotkeys: every action rebindable in Settings.
- Explorer context menu: "Edit with Simple Editor" on video files.
- Project format: plain JSON (
.sedit) + export to Final Cut Pro 7 XML for Premiere Pro / DaVinci Resolve.
- MCP server for AI co-editing: the whole timeline, effects, masks, nodes, markers, buses, shapes, frame export and timeline import as tools.
- Scripting (Luau): sandboxed
.luau scripts drive the same tool catalogue the MCP server exposes; one script run = one undo step.
- Icons: menu actions, panes and panel buttons carry painted vector glyphs — pick your own per action/pane in Settings, or remove/restore them.
Playback
- The render thread keeps ~1.5 s of frames decoded ahead of the playhead (and protects ~0.5 s behind it, so scrub-backs replay from RAM), pre-warming the next clip's decoder before a cut.
- If decode falls behind, playback buffers — the clock and audio pause and a spinner shows until the read-ahead refills — instead of playing audio over frozen video. Edits only evict the frames they can actually change.
- Proxy media: imported video gets a background low-res all-intra proxy (every frame a keyframe), so scrubbing and reverse playback are as cheap as forward. Exports always use the originals.
- Fullscreen (F11): move the mouse for the transport bar (it hides ~2 s after the mouse stops; spacebar never summons it), double-click or Esc to leave.