Rescript: A Browser-Based Video Editor That Cuts by Editing a Transcript
Project brief: Open source, transcript-based video/audio editor that lives in the browser.
At a glance
- What is it?
- Rescript transcribes video and audio locally in the browser, then lets you delete words to cut the media. It is a different editing model, but the license and browser constraints set clear boundaries.
- Who is it for?
- Adopt Rescript if you edit podcasts, interviews, or talking-head videos and want a text-first workflow that never uploads your files. Skip it if you need commercial use, precise frame-level control beyond word boundaries, or support for non-Chromium browsers.
- Can I use it commercially?
- Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
- Is it still maintained?
- Yes. The repository last received commits 1 day ago.
- What is it written in?
- Mainly TypeScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
Editing by Deleting Words, Not Splicing Clips
Rescript solves a specific problem: cutting long recordings where the content is mostly speech. Instead of scrubbing a timeline to find edit points, you read a transcript and delete the words you do not want. The README describes the flow: drop in a video or audio file, it is transcribed locally with per-word timestamps and speaker labels, and deleting a word cuts the corresponding clip from the media. This is aimed at podcasters, interviewers, and anyone who edits voice notes or lectures. It is not designed for music videos, action sequences, or any edit where visual timing matters more than spoken content. The core value is speed: you can remove a stumble or a long pause by selecting text, not by zooming into a waveform. The trade-off is obvious. Word-level editing gives you granularity, but it does not replace a traditional timeline for fine visual cuts. Rescript does include a waveform timeline with draggable timing handles and a Split tool, so you are not locked into text-only editing. Still, the primary mental model is text as the edit decision list.
Local Transcription with Whisper and pyannote
The transcription pipeline runs entirely on your device. According to the README, ffmpeg.wasm decodes the audio track to mono 16 kHz PCM. Then Whisper runs in a Web Worker using the `whisper-base_timestamped` or `whisper-small_timestamped` ONNX models, streaming text as it goes. Speaker labels come from `pyannote-segmentation-3.0`, also in ONNX format. The inference uses WebGPU when available, with a WASM fallback. This is a meaningful architectural choice: no audio ever leaves your machine, which is the privacy promise. But it also means the transcription speed depends on your hardware. A large video file on a laptop without WebGPU could be slow. The README does not give performance numbers, so you should test with your own files. There is also an option to import your own transcript in SRT, VTT, or JSON format, skipping Whisper entirely. That is useful if you already have a high-quality transcript from another tool, or if the built-in models are not accurate enough for your accent or recording quality.
The Editing Model: Cut Ranges and Live Preview
When you delete a word, Rescript does not immediately destroy the media. Instead, it creates a cut range: a segment of the original file that will be skipped during playback and export. The README says the preview player skips these cuts in real time, and the timeline shows them in red. You can drag the edges of a cut to trim independently of the Whisper timestamps, and double-click to reset. This is a good design because it keeps the original file intact until export, so you can adjust or undo cuts without re-encoding. The timeline also supports splitting at the playhead and dragging clip edges to refine cuts beyond word boundaries. There is a wordbar with draggable timing handles, and you can zoom in to adjust word timing if the ASR alignment is off. That last feature is important: Whisper word timestamps are not always perfect, and Rescript gives you a manual correction path. The live preview is a key feature because it lets you check the rhythm of the edit without waiting for an export.
Export Options: Video, Audio, Subtitles, and NLE Timelines
Export is where Rescript shows its range. For video, you can export MP4 or WebM at resolutions from 720p to 4K. Audio export covers M4A, MP3, and WAV. Transcripts can be saved as TXT or MD, and subtitles as SRT, VTT, or JSON. The most distinctive option is NLE timeline export: DaVinci Resolve and Premiere XML, Final Cut FCPXML, and Pro Tools/Logic AAF. This means you can do a rough cut in Rescript and then hand off to a full editor for color, graphics, or fine audio mixing. The README states that export re-encodes with ffmpeg.wasm using `libx264`/`aac`, so the cut is word-accurate. That is a real advantage over editing tools that only produce a decision list. One limitation to note: the export is frame-accurate only if the source and destination formats align. The README claims frame-accurate re-encode, but you should verify that the output matches your expectations for your specific source file.
Running It: Browser, Desktop, and Development Commands
You can try Rescript in the browser at app.getrescript.com, or download desktop builds for macOS, Windows, and Linux. The desktop app is an Electron wrapper that bundles Chromium and sets the same isolation headers on its `app://` protocol. For development, the README gives clear commands: `npm install` (which also copies ffmpeg and onnxruntime WASM into `public/vendor`), `npm run dev` for the Next.js web app at localhost:3000, `npm run electron:dev` for the Electron shell, `npm run build` for production, `npm run dist` for unsigned installers, and `npm run lint`. The desktop builds auto-update from GitHub Releases, which is a practical maintenance feature. The web app requires a Chromium-based browser because it needs `SharedArrayBuffer`, served with COOP/COEP headers. This is a hard constraint: Firefox and Safari are not supported for the web version. The desktop app sidesteps that by bundling Chromium, but the browser version is limited.
Privacy, Telemetry, and the License Catch
Rescript is private by design in the sense that media stays on-device. But the README also states that by default it reports anonymous usage stats and crash reports to Sentry. You can turn this off in Settings → Privacy → Help improve the app, and the README says it stops immediately and permanently on that install. This is a reasonable default, but it is not zero-telemetry out of the box. The bigger catch is the license. Despite the repository description saying MIT, the README's License section states that the project is now under the PolyForm Noncommercial License 1.0.0. You can use, modify, and share it for noncommercial purposes only. Commercial use, including reselling or redistributing for a fee, is not permitted. Prior releases under MIT remain MIT for those versions. This is a significant change: if you are a business, you cannot use the latest version without contacting the author for a commercial license. That is a real limitation for adoption in a company, even if you only use it internally. The README does not list a price for commercial licensing, so you would need to contact the author.
Alternatives and the Wrong Tool Cases
The closest alternative to Rescript is a traditional non-linear editor like DaVinci Resolve or Premiere Pro, which also offer text-based editing features. DaVinci Resolve has a text-based edit mode that transcribes audio and lets you cut by deleting words in a transcript. The difference is that Rescript runs entirely in the browser with no install and no cloud processing, while DaVinci Resolve is a heavyweight desktop application with a steep learning curve and a much larger feature set. Another alternative is Descript, a commercial tool that does the same transcript-based editing but is not open source and requires an account. Rescript's advantage is privacy and no subscription. The wrong tool cases are clear: if you need to edit video with complex visual effects, multi-camera sync, or color grading, Rescript is not for you. If you need to collaborate with a team on the same project, Rescript has no collaboration features mentioned. If you need to edit on a device without WebGPU and with a weak CPU, the transcription may be painfully slow. And if you need commercial use, the PolyForm license blocks you unless you negotiate separately.
Editorial conclusion
Adopt Rescript if you edit podcasts, interviews, or talking-head videos and want a text-first workflow that never uploads your files. Skip it if you need commercial use, precise frame-level control beyond word boundaries, or support for non-Chromium browsers. Before committing, verify that your target browser has SharedArrayBuffer enabled and that the Whisper Base model's accuracy is sufficient for your audio; test with your own files first to see if the word timestamps align well enough for your cuts.
Community notes