Your audio never leaves your device
Speaker label format in transcripts, SRT and VTT
There is no single standard for writing who is speaking. This is a plain guide to the conventions you will actually meet, what each format supports, and the exact output you get from this free transcription with speaker labels, which runs in your browser and never uploads your audio.
Takes a little extra time, and your audio still never leaves your device. Labels go by how voices sound, so treat them as a best effort: one person can be split across two or three labels, similar voices can be merged, and someone joining partway through may be folded into a speaker already talking. Giving a number usually helps. Check them before relying on them.
Specifying this number improves accuracy. Count people who really take part, whenever they join. Someone who only says a word or two is better left out.
Timestamps each word instead of each phrase, so short interjections like "Yeah" go to the right person. On a busy four-person recording this corrected about 1 word in 5; it changes little when people talk in long turns. Adds roughly 40% to the time on a computer, and almost nothing on a phone.
Phone audio loses the high frequencies that separate consonants, so they are put back before transcribing. Only phone-quality recordings are treated, and you are told when it happens. Also even out volume is for one case: someone far from the microphone and much quieter throughout. It cost accuracy on other recordings, so use it only if a quiet person came out badly.
Worth filling in. The speech model knows ordinary English, not your subject, so a word it has never heard becomes whatever sounds closest, and it usually gets that word wrong every single time it comes up. A sentence is enough, and the names and jargon in it are picked out and watched for. It cannot guess a word you do not mention, so name the people and the terms that matter.
Free, no signup. The first time you use it, it takes a minute or two to set up. After that setup is quick. Works with MP3, WAV, M4A, OGG, FLAC and AMR, and long recordings are handled in parts.
The four conventions you will meet
Speaker labelling grew up separately in transcription, in broadcast captioning, and on the web, so there are several conventions rather than one. Knowing which is which saves a lot of confusion when a file looks wrong in a particular player.
- Name and colon. The ordinary transcript convention, as in
Alice: yes, that works. Universally understood by people, meaningless to software, which treats it as part of the text. - Placeholder and colon. The same thing with generated names, as in
SPEAKER_00:. What automatic tools emit before you supply real names. - Chevrons. Broadcast captioning marks a change of speaker with
>>and, in some house styles, a change of topic with>>>. You will see this in television captions and in files derived from them. - WebVTT voice tags. The only one of the four that is a real specified feature rather than a writing habit. It wraps the caption text and names the speaker as an attribute, so a player can style each speaker differently.
Plain text transcripts
A transcript groups consecutive speech by the same person into a turn, with a label at the front. This is what MeetingScribe writes, with a blank line between turns:
SPEAKER_00: You get a liquor license in here. SPEAKER_01: That's a million dollar bar. Yeah, no, I don't need the money. SPEAKER_00: You need somebody to take good care of this place.
Switch time-stamps on and each turn is preceded by its start time in hh:mm:ss form, which is useful when you need to go back to the recording to check a passage:
[00:00:01] SPEAKER_00: You get a liquor license in here. [00:00:03] SPEAKER_01: That's a million dollar bar.
SRT
SRT has no speaker syntax whatsoever. Its specification covers a caption number, a time range, and lines of text, and nothing else. Every speaker label you have ever seen in an SRT file is written into the caption text by convention. That is why labels in SRT always display exactly as typed, in every player, and also why no player can style or filter them.
1 00:00:01,160 --> 00:00:03,300 SPEAKER_00: You get a liquor license in here. 2 00:00:03,300 --> 00:00:05,140 SPEAKER_01: That's a million dollar bar.
Note the comma before the milliseconds. That comma, and the caption numbering, are the two things that most often break a hand-edited SRT file.
VTT
WebVTT is the format HTML5 video expects. It begins with a WEBVTT line, uses a period rather than a comma before the milliseconds, and does not require caption numbers. Unlike SRT it has a genuine speaker mechanism, the voice span:
WEBVTT 00:00:01.160 --> 00:00:03.300 <v SPEAKER_00>You get a liquor license in here. 00:00:03.300 --> 00:00:05.140 <v SPEAKER_01>That's a million dollar bar.
A voice span can be targeted with CSS, so you can colour each speaker differently in a web player. The catch is support: a player that does not implement voice spans may render the tag on screen as literal text, which looks far worse than a plain prefix.
For that reason MeetingScribe writes the label inline in VTT as well, matching the SRT output, so the files behave predictably everywhere:
WEBVTT 00:00:01.160 --> 00:00:03.300 SPEAKER_00: You get a liquor license in here.
If you specifically want voice spans, the conversion is a search and replace: turn SPEAKER_00: at the start of a caption into <v SPEAKER_00>. Do it once at the end, after you have applied real names.
From placeholders to real names
Placeholders exist because separating voices and identifying people are different problems. A tool can hear that two voices differ without having any idea who they belong to, and this one deliberately does not attempt identification: it compares voices only within the single recording you gave it. More on that distinction on the speaker labels page.
So the last step is yours. Enter a real name against each detected speaker and apply them, and every file you download afterwards carries the names instead of the placeholders:
1 00:00:01,160 --> 00:00:03,300 Alice: You get a liquor license in here. 2 00:00:03,300 --> 00:00:05,140 Bob: That's a million dollar bar.
Rename before you export rather than after. Editing labels across a subtitle file by hand is slow and easy to get wrong, and renaming in the tool rewrites every format at once.
Choosing a convention
- For a document people will read, use names and colons. It is what readers expect and what word processors handle cleanly.
- For subtitles on a video, use the inline prefix. It survives every player.
- For a web player you control, voice spans are worth it, because you can style speakers separately and keep the label out of the text itself.
- For captions matching a broadcast house style, follow the chevron convention that style specifies, and be consistent about it.
Whichever you pick, the labels are only as good as the separation behind them. If yours are landing on the wrong person, that is a different problem with different fixes, covered in fixing wrong speaker labels.
Try it on your own recording
You can produce all of the above from a recording without an account and without uploading anything. Transcription and speaker separation both run in your browser, so the audio stays on your device, and the transcript, SRT and VTT are yours to download. Start on the free transcriber, or read the guide to SRT and VTT for which format each editor and player expects.
Last reviewed: August 2026
Frequently asked questions
- Is there an official speaker label format?
- Not one that covers every format. SRT has no speaker syntax in its specification at all, so labels are written into the caption text by convention. WebVTT does have a real mechanism, the voice span, written as a v tag wrapping the caption text. Broadcast captioning uses two chevrons to mark a new speaker. Plain transcripts almost always use a name followed by a colon. So the honest answer is that the format depends on the file and on the tool that will read it.
- What does SPEAKER_00 mean?
- It is a placeholder for the first distinct voice the tool found, with SPEAKER_01 the second, and so on. The numbering starts at zero and reflects the order voices were separated, not seniority or who talked most. Automatic speaker separation can tell voices apart but has no way to know their names, so you rename the placeholders yourself.
- Should I put the speaker label inside the caption text or use a VTT voice tag?
- Use the inline prefix unless you know your player supports voice tags. Inline text displays correctly everywhere because it is just part of the caption. Voice tags are cleaner and can be styled with CSS, but a player that does not understand them may show the raw tag on screen, which is worse than a plain prefix.
- Why do the labels change partway through my transcript?
- Usually one of three things: two people with similar voices were merged under one label, one person was split across two labels, or someone joined partway through and was folded into a speaker already talking. See the guide to fixing speaker labels for what causes each and what to do about it.
- Can I rename the labels before exporting?
- Yes. Type real names against each detected speaker and apply them, and every export you then download uses those names in place of the placeholders, including the SRT and VTT files.
- Does the file format change how accurate the labels are?
- No. The format only decides how the labels are written down. Accuracy comes from the speaker separation step, which runs on the audio before any file is produced.