chaptertool
April 11, 2025 ยท View on GitHub
![]()
chaptertool
Create and convert chapters for podcasts, youtube, matroska, mkvmerge/nero/vorbis, webvtt, ffmpeginfo, ffmetadata, pyscenedetect, apple chapters, edl, podlove simple chapters (xml, json), apple hls chapters and mp4chaps.
Build on @mtillmann/chapters
Web App
Click here to open the web app.
Supported Formats
| name | key | ext | info |
|---|---|---|---|
| Podcasting 2.0 Chapters | chaptersjson | json | spec |
| FFMetadata | ffmpegdata | txt | spec |
| Matroska XML chapters | matroskaxml | xml | spec |
| MKVToolNix mkvmerge XML | mkvmergexml | xml | spec |
| MKVToolNix mkvmerge simple | mkvmergesimple | txt | spec |
| WebVTT Chapters | webvtt | vtt | spec |
| Youtube Chapter Syntax | youtube | txt | |
| FFMpegInfo | ffmpeginfo | txt | read only, used internally |
| PySceneDetect | pyscenedetect | csv | project home |
| Vorbis Comment Format | vorbiscomment | txt | spec |
| "Apple Chapters" | applechapters | xml | source |
| Shutter EDL | edl | edl | source |
| Podigee Chapters/Chaptermarks | podigee | json | spec |
| Podlove Simple Chapters | psc | xml | spec |
| Podlove Simple Chapters JSON | podlovejson | json | source |
| MP4Chaps | mp4chaps | txt | source |
| Apple HLS Chapters | applehls | json | spec, partial support |
| Scenecut format | scenecut | json | source |
| Audible Chapter Format | audible | json | source |
| Spotify Formats A/B | spotifya|spotifyb | txt | see |
| Podcastpage Format | podcastpage | txt | see |
| Podigee Text Format | podigeetext | txt | see |
| TransistorFM Chapter Format | transistorfm | txt | see |
| Unknown Shownotes Format | shownotes | txt | see |
CLI
An updated cli tool with better interface is available here: chapconv
If you want to extract chapters from videos, rather use native ffmpeg or pyscenedetect commands and integrate chapconv in your pipeline. Here is the old CLI Documentation.
Examples & FAQ
Docker
Use docker to run the web GUI:
docker build -t chaptertool-gui .
docker run -p 8989:8989 chaptertool-gui
# open http://localhost:8989 in your browser
or use the image from dockerhub:
docker run -p 8989:8989 martintillmann/chaptertool-gui