Skip to content

Podcast chapter timestamps from a transcript

Paste a transcript with times and pick how often you want a chapter. The tool puts each one at a natural break near that time and gives you the list in the form you need: lines for the episode description, a Podcasting 2.0 chapters file (JSON) or a WebVTT chapters file. Titles are placeholders for you to rename. Runs in your browser.

Loading the tool…

Processed in your browser. Your file is never uploaded.

All three read the same input: an SRT or VTT file, or text that has a time at the start of each line, such as the timestamped TXT export ([05:12] Maria: ...). Without times there is nothing to place chapters or quotes against, and the page says so. A Name: label at the start of a line is read as the speaker.

How the chapter points are chosen

The first chapter is always at 0:00. For each later one the tool looks at the lines that start within a quarter of the spacing either side of the ideal time (for example 4 to 6 minutes for a chapter at about 5) and takes, in this order:

  1. the line that follows the longest pause, when the file has end times (an SRT or VTT does; a pause of at least 0.7 seconds counts);
  2. otherwise a line that follows a full stop;
  3. otherwise the nearest line.

Pauses and full stops are hints, not proof. A speaker often pauses before a new topic, and also before a joke. The page tells you which rule was used for your file so you know how much to trust the placement. Titles are placeholders: the three words most particular to that stretch (words that are common across the whole episode are ignored), the first words of the line, or a number.

Three forms of the same list

  • A list for the description, one chapter per line (12:30 Pricing), which is how YouTube reads chapters and how many show-notes pages are written. The tool checks it against YouTube's rules for chapters and tells you if it fails: the first stamp 0:00, at least three, ascending, ten seconds minimum (a short episode may not reach three).
  • A Podcasting 2.0 chapters file (JSON, version 1.2.0 as in the Podcast Index's example): each chapter has a startTime in seconds and a title. The spec says the file should be served with the content type application/json+chapters and referenced by <podcast:chapters url="..." type="application/json+chapters"/> in the episode's feed item. That is something your host or feed has to do.
  • A WebVTT chapters file, one cue per chapter with its start and end, the kind an HTML <track kind="chapters"> element can load for a web player.
{
  "version": "1.2.0",
  "chapters": [
    { "startTime": 0, "title": "Intro" },
    { "startTime": 168, "title": "Pricing" }
  ]
}

(Shape shown for illustration; the page fills in your own times and titles.)

What it does not do

It does not name chapters well, add chapter images or links, write the chapter data into an MP3 file, or publish anything. A podcast editor can embed chapters in the audio; this page writes the plain list and the files. If your transcript has no times it stops and says so. The TryScriptorium app's own Markdown export has a Chapters section, split at the longest silences and labelled with distinctive words, when a transcript has more than one; this page differs in that you choose the spacing and the output form, and in that it works on any transcript you paste, not only ones made here.

Check before you publish

Play the audio at a few of the chapter times. A chapter that starts in the middle of an answer is better moved to the start of the question, which means editing the time by hand. Then paste the list into the YouTube chapters checker if it is going into a video description. If the text came from YouTube's transcript panel, clean it first with the YouTube transcript cleaner, which can also draft chapters from that text.

Questions

What is the difference between this and the YouTube chapters checker?

The YouTube chapters checker takes a list you already wrote and tests it against YouTube's rules. This page starts from the transcript and proposes the points, then gives them in podcast-friendly forms (a Podcasting 2.0 JSON file and WebVTT as well as the plain list). The list it makes is checked against the same YouTube rules, so it can be pasted into a video description too.

What is a Podcasting 2.0 chapters file?

A small JSON file listing each chapter's start time in seconds and its title, which an episode's feed can point to with a <podcast:chapters> tag. The format is described in the Podcast Index's namespace documentation (read on 2026-10-27: JSON chapters format 1.2). You still have to host the file and add the tag in your feed or ask your podcast host to; this page only writes the file.

Will every podcast app show these chapters?

We cannot say. Apps differ in what they read: timestamps in the episode description, chapters written into the audio file, or the JSON file named in the feed. We have not tested each one, so check your host's and your players' own instructions.

Why are the chapter titles odd?

They are placeholders. With the default choice each title is the three words that are most particular to that stretch of the transcript, which is useful for finding where a topic is and poor as a headline. Rename them. For text that is not mostly English the tool uses the first words of the line instead.

Need the transcript with times first?

TryScriptorium turns an audio or video file you upload into a transcript with timestamps and exports TXT with times, SRT, VTT, Markdown, JSON or CSV. You can try it free. These tools read the timestamped TXT, the SRT or the VTT.

More pages like this