SubGrab

How to Replace Speaker 1 and Speaker 2 With Real Names

Speaker labels number voices in the order they first speak. Here is how to work out who is who and swap the numbers for names in a TXT, SRT or VTT transcript — in any text editor, in about a minute.

Short answer

To put names on a transcript's speaker labels, work out who Speaker 1 is from the first few turns — speakers are numbered in the order they first speak — then use find and replace in any text editor: "Speaker 1:" becomes "Maya:" in a TXT or SRT file, and the VTT voice tag for Speaker 1 becomes Maya's. One replacement per speaker, about a minute in total.

Speaker labels number each voice — Speaker 1, Speaker 2 — in the order people first speak. A number is all a voice can tell an AI; who the person is, you know. Putting the names in takes a minute.

1. Work Out Who Is Who

Speakers are numbered by first appearance, so Speaker 1 is whoever talks first. Read the opening few turns: a host usually introduces the guest by name ("Welcome to the show, Maya"), and a question followed by an answer tells you who is asking. Check one more turn further in to be sure, then write the mapping down:

  • Speaker 1 → Tom (the host)
  • Speaker 2 → Maya (the guest)

2. Know What the File Looks Like

Each download marks speakers its own way:

FormatHow a speaker appearsReplace this……with this
TXTOn every line: [00:12] Speaker 1: Welcome…Speaker 1:Tom:
SRTAt the start of a caption, where the speaker changesSpeaker 1:Tom:
VTTA voice tag on every cue: <v Speaker 1><v Speaker 1><v Tom>

The VTT voice tag is part of the WebVTT standard, so players that support it can show the name; in SRT the name is just text in the caption.

3. Find and Replace, Once per Speaker

Open the file in any text editor — Notepad, TextEdit (in plain-text mode), VS Code, or Google Docs — and use Find and Replace (Ctrl+H on Windows, Cmd+Option+F on a Mac in most editors). Replace each label with its name, including the colon or the angle bracket. Keeping that punctuation means "Speaker 1:" can never match "Speaker 10:" on a big panel.

If you are comfortable with a terminal, one command does every speaker at once:

sed -e 's/Speaker 1:/Tom:/g' -e 's/Speaker 2:/Maya:/g' transcript.txt > transcript-named.txt
sed -e 's/<v Speaker 1>/<v Tom>/g' -e 's/<v Speaker 2>/<v Maya>/g' transcript.vtt > transcript-named.vtt

4. Check the Turns That Matter

Speaker labels are right for most of the speech — 99–100% on two-person interviews and 96–98% on four-person meetings in our measurements — and where they slip, it is on short interjections and people talking over each other. Before you quote someone, play the moment back and make sure the name is on the right line. For a full quoting workflow, see interview transcription for journalists.

Getting the Labels in the First Place

Turn on Speaker labels before an AI transcript starts: 2 credits per started hour on top of the transcription, refunded if only one voice is heard. Transcripts taken from a video's own captions have no labels. If you want to know how the labels are made, read what speaker diarization is.

Transcribe an interview with speaker labels — 2 free credits on signup.

Frequently asked

Why doesn't SubGrab name the speakers itself?

A voice doesn't say who someone is. Speaker labels come from telling voices apart, so they are numbers in the order people first speak; the name is something only you know.

Will replacing Speaker 1 also change Speaker 10?

Not if you include the punctuation after the number — the colon in TXT and SRT ("Speaker 1:"), or the closing bracket of the VTT voice tag — because then it can never match "Speaker 10". Without it, replace the higher numbers first.

Do video players show the names?

Players that read WebVTT voice tags can show the name in a VTT file; in SRT the name is simply part of the caption text, so every player shows it.