Review, edit, and export transcripts as you listen.
CueText is a local-first app for audio-synced transcript work. Load audio with a timed transcript, follow the active cue, fix wording, label speakers, and export — without uploading anything.
Files never leave your browser.
Live app: maxchui.github.io/CueText
- Drag-and-drop or file-picker import for audio and transcripts
- Clear audio, transcript, or both (with confirmation when edits would be lost)
- Parsers for SRT, WebVTT, and timestamped TXT
- Native HTML audio playback with seek, skip, and speed control
- Click-to-seek transcript segments
- Active segment highlighting and auto-scroll (toggleable)
- Edit transcript text while listening (double-click a cue, or use the pencil)
- Export edited transcript as SRT, WebVTT, TXT, or CSV
- Transcript search
- Keyboard shortcuts
| Key | Action |
|---|---|
| Space | Play / pause |
| ← | Skip backward 5s |
| → | Skip forward 5s |
| ↑ | Increase playback speed |
| ↓ | Decrease playback speed |
Audio: MP3, WAV, M4A, AAC, OGG (and other browser-decodable formats)
Transcript: SRT, WebVTT, timestamped TXT, and CSV (e.g. TurboScribe Advanced Export)
[00:01:14.500] Speaker 1: This is a transcript segment.
00:01:14 --> 00:01:18
Speaker 2: This is a transcript segment.
Speaker labels are parsed when present. You can also assign, rename, filter, and search by speaker in the transcript panel.
TurboScribe SRT files usually have timestamps but no speakers. The companion TXT uses blocks like [語者1] / [語者2] without timestamps.
- Load the
.srt(timed cues) - Load the speaker
.txt, or drop both together
CueText aligns speaker turns onto the timed segments so you can filter and search by speaker.
npm install
npm run devnpm run build
npm run preview- React + TypeScript + Vite
- Tailwind CSS
- Native
<audio>element
Structured so it can later be packaged with Tauri.
MIT — see LICENSE.



