Transcript Cleaner

Paste speech-to-text output, SRT/VTT captions, or meeting notes and get a cleaner transcript with fillers, timestamps, cue markers, and repeated speaker turns tidied.

Try:
Result

About this tool

Transcript Cleaner turns raw speech-to-text output, SRT/VTT captions, meeting notes, or interview logs into cleaner prose. It strips timestamp scaffolding, removes filler words and hyphenated stutters, drops non-verbal cue markers, merges consecutive turns from the same speaker, and normalizes capitalization and punctuation.

Everything is deterministic and local: no LLM, no network call, and no upload. That makes the result fast and repeatable, but it also means the tool uses fixed rules instead of understanding context.

Worked example

Raw transcript

[00:01:23] Alice: um i think we should ship this
[00:01:26] Alice: uh it looks good [laughter]
Bob: like, agreed

Cleaned transcript

Alice: I think we should ship this. It looks good.
Bob: Like, agreed.

The default standard filler level removes unambiguous vocal pauses (um, uh, erm, hmm), keeps the potentially meaningful word like, removes timestamps and [laughter], then merges the two adjacent Alice turns.

Cleanup controls

Limits

FAQ

Does this use an AI model to rewrite my transcript?

No. The cleaner is deterministic rule-based code: fixed filler lists, timestamp patterns, speaker label parsing, and punctuation spacing. That keeps it local and repeatable, but it will not rewrite sentences the way a model would.

What is the difference between standard and aggressive filler removal?

standard removes only clear vocal pauses such as um, uh, erm, and hmm. aggressive also removes discourse markers such as you know, I mean, basically, actually, and like. Use aggressive for rough cleanup, but review the result because those words can be meaningful.

Can it clean SRT or VTT captions?

Yes. With Remove timestamps on, it drops SRT sequence numbers, cue timing lines containing -->, the WEBVTT header, bracketed timestamps, and leading clock stamps before cleaning the remaining caption text.

Why did a bracketed note disappear?

The Remove bracketed cues option strips both square-bracketed and parenthesized spans because transcripts commonly use them for [laughter], [inaudible], and (applause). Turn that option off if your transcript uses brackets for content you want to keep.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool transcript-clean "[00:01:23] Alice: um i think we should ship this
[00:01:26] Alice: uh it looks good [laughter]
Bob: like, agreed"

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/transcript-clean/?input=%5B00%3A01%3A23%5D%20Alice%3A%20um%20i%20think%20we%20should%20ship%20this%0A%5B00%3A01%3A26%5D%20Alice%3A%20uh%20it%20looks%20good%20%5Blaughter%5D%0ABob%3A%20like%2C%20agreed&filler_level=standard&extra_fillers=you%20know%2C%20right&remove_timestamps=true&remove_brackets=true&merge_speakers=true&fix_capitalization=true&fix_punctuation=true

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.