How to Export a YouTube Transcript to TXT or Markdown
Updated 2026-06-01
Reading a transcript on screen is fine. Getting it into your notes, a document, or a prompt is where the value is. This guide covers exporting a YouTube transcript as plain text or Markdown, and when to pick each.
TXT vs. Markdown — which to use
- Plain text (
.txt) — the universal format. Paste it anywhere: an email, a chat box, an AI prompt, a code comment. No formatting to get in the way. - Markdown (
.md) — keeps structure: a heading for the title, and timestamps you can turn into links. Ideal for note apps like Obsidian, Logseq, or Notion, and for anything you'll publish or process further.
Rule of thumb: reach for .txt when you'll paste-and-go, and .md when the transcript is going to live somewhere as a note or document.
Exporting from Scribefy
After you extract a transcript on the web app, you get export buttons for both formats. The Markdown export includes the video title as a heading and a timestamp on each segment, so the structure survives the trip into your notes app. The plain-text export gives you the same content without the Markdown syntax.
Either way, the file is yours to keep — no re-extraction needed to read it again.
Keeping (or dropping) timestamps
Timestamps make a transcript far more useful — you can jump back to the source to verify a quote, and AI assistants can cite specific moments. The Markdown export keeps them on every segment. If you want a clean prose block instead — say, to paste a paragraph into an article — strip them out; plain text without timestamps reads like an article draft.
Building your own format from the API
If you're exporting programmatically, the REST API returns the transcript as structured segments:
{
"title": "Example video",
"segments": [
{ "start": 0.0, "text": "First line." },
{ "start": 4.2, "text": "Second line." }
]
}
From there you can render any shape you like. A minimal Markdown builder:
const md = [`# ${data.title}`, "", ...data.segments.map(
(s) => `**[${fmt(s.start)}]** ${s.text}`
)].join("\n");
Drop the [${fmt(s.start)}] part and you've got a timestamp-free version; join with spaces instead of newlines and you've got one flowing paragraph.
Frequently asked questions
Can I get the transcript as SRT or VTT subtitles?
Scribefy's exports are TXT and Markdown, aimed at reading and reuse rather than subtitling. If you need SRT/VTT for captioning a video, that's a different tool's job — though the API's segment timings give you everything needed to generate them yourself.
Will the Markdown timestamps be clickable?
They're written as plain timestamps; many note apps and the web view render them so you can jump to the moment. The underlying data includes the exact start time of every segment.
Is re-downloading a transcript free?
Yes — once a transcript is cached, fetching it again is free. Cached extractions never re-charge credits. See pricing.
Need the file now? Extract a transcript and grab the .txt or .md export.