Podcast Chapter Converter

Every app wants chapters in a different format. Paste chapters in any of the formats below. The converter detects which one you pasted and writes it out as the one you need. It runs in your browser and nothing is uploaded.

Formats it reads and writes

FormatWhere it's usedLooks like
YouTube timestampsYouTube descriptions, Spotify and Apple show notes, most host episode pages00:00 Intro
podcast:chapters JSONPodcasting 2.0 apps (Podcast Addict, Fountain, Podverse, Castamatic) through the RSS <podcast:chapters> tag{"version":"1.2.0","chapters":[{"startTime":0,"title":"Intro"}]}
Audacity labelsFile, Export, Export Labels in Audacity. Also a quick way to mark chapters while you edit0.000000 0.000000 Intro
WebVTT chaptersHTML5 players (<track kind="chapters">), Video.js, Plyr00:00:00.000 --> 00:01:30.000
FFmpeg metadataWriting chapters into an MP3/M4A/MP4 with ffmpeg -i in.m4a -i meta.txt -map_metadata 1 -c copy out.m4a[CHAPTER] TIMEBASE=1/1000 START=0
CUE sheetAudio players and DJ tools; frames are 1/75 secondINDEX 01 01:30:00
mp4chaps / Neromp4chaps, Forecast, older chapter tools00:01:30.000 Intro

End times

JSON, WebVTT and FFmpeg can carry an end time for each chapter. The converter ends every chapter where the next one starts. Fill in the episode length to close the last chapter too. Without it, WebVTT and FFmpeg get a 60 second last chapter and the converter warns you.

YouTube's rules

If you're converting to YouTube timestamps: the first chapter has to start at 00:00, you need at least 3 chapters, and each one has to be at least 10 seconds long. The converter flags anything that breaks those rules. To check and fix a list in detail, use the YouTube chapters checker. To build a JSON file with images and links per chapter, use the chapters.json generator.