PODCAST RSS · CHAPTERS · 2026
Podcast chapters — the table of contents your episodes are missing
Fewer than 30% of the top 500 podcasts on Apple ship chapter markers, and the ones that don't are making listeners scrub blindly through 60-minute files. Chapters are one of the highest-impact, lowest-effort upgrades left in podcasting — and your transcript already contains the data. Here are all three formats, Apple's acceptance rules, and a free workflow to generate them.
Why chapters matter in 2026
The median top-100 episode now runs past 60 minutes. Nobody has a free hour, and a listener who can't find the segment they came for either scrubs or leaves. Chapters fix both: tapping a titled segment jumps straight to it, and — counterintuitively — giving permission to skip increases total listening time, because people press play when they know they can jump.
The SEO angle is the overlooked one. Apple Podcasts indexes chapter titles and uses them to surface episodes in in-app search — descriptive titles (guest names, company names, specific questions) become searchable terms. Spotify similarly surfaces chapter-level content in search and recommendations, and episodes with chapters generate richer engagement signals that feed its recommendation engine. On the web, each chapter title is another indexed text element on your episode page, and chapters make clip selection for social trivial — every chapter is a candidate reel.
Despite all of this, a 2025 analysis of the top 500 Apple Podcasts shows fewer than 30% ship chapters. The reason is honest: scrubbing a finished 60-minute episode to place each marker manually is an hour of unpaid work per episode. That's a transcription problem, not a creativity problem — and it's solved below.
The three formats — and who honors what
Verified against the Podcasting 2.0 namespace spec, Podlove spec, Apple's guidelines, and 2026 app behavior.
| Format | Where it lives | Apps that read it | Rich features |
|---|---|---|---|
| Description timestamps | Plain lines in the episode description: 00:00 Intro | Everywhere — Apple, Spotify, YouTube, Overcast, Pocket Casts | None — but if you implement only one format, this covers the widest audience |
| Podcasting 2.0 JSON | External JSON file linked with <podcast:chapters> | Apple Podcasts, Fountain, Podverse, Pocket Casts, Castamatic, Castopod player | Per-chapter artwork and clickable links shown during playback; editable after publish |
| Podlove Simple Chapters | <psc:chapters> XML inline in the feed item | Spotify (titles only), plus PSC-aware players | href/image per chapter; Spotify reads this feed format |
| ID3 CHAP/CTOC frames | Embedded in the MP3/M4A file itself | Apple Podcasts, Pocket Casts, Overcast, Castro — not Spotify | Native to the file, but some hosts strip ID3 tags on upload |
Apple Podcasts
Reads all three file/feed formats. On iOS 26.2+ it auto-generates generic chapters for English shows ("Automatically created") — your own chapters always take priority. Trailers and episodes under 10 minutes are excluded from auto-generation.
Spotify
No ID3 support. Reads description timestamps and Podlove feed chapters; titles only, no images or links. Auto-generates chapters for some English shows — but manual chapters replace the automatic ones.
YouTube (video episodes)
Only description timestamps work: 0:00 Chapter title or HH:MM:SS, first chapter at 0:00, at least 3 chapters each ≥10 seconds. Renders them as clickable chapters.
The 2026 minimum: description timestamps for universal reach, plus the
podcast:chapters JSON file for Apple and Podcasting 2.0 apps
if your host supports it. ID3 is optional garnish — skip it if your host strips tags.
The podcast:chapters tag, copy-paste
The tag is a pointer, not a container — it links to an external JSON file.
Two parts: declare the podcast namespace once on the <rss>
element (you already did if you ship podcast:transcript), then add one tag per episode.
<rss version="2.0"
xmlns:podcast="https://podcastindex.org/namespace/1.0">
<channel>
<item>
<title>Episode 42: The Future of Live Audio</title>
<enclosure url="https://example.com/episodes/42.mp3"
length="38212000" type="audio/mpeg"/>
<podcast:transcript url="https://example.com/transcripts/42.vtt" type="text/vtt"/>
<podcast:chapters url="https://example.com/transcripts/42-chapters.json"
type="application/json+chapters"/>
</item>
</channel>
</rss>
The chapters file itself — startTime is in seconds:
[
{ "startTime": 0, "title": "Intro" },
{ "startTime": 128, "title": "Interview begins", "url": "https://guest.example" },
{ "startTime": 905, "title": "Why most podcasters quit in year one" },
{ "startTime": 2210, "title": "Closing recommendations" }
]
Because chapters are a separate file, you can fix or extend them after publishing
without re-uploading audio — impossible with ID3. JSON chapters also work in web browsers
(which can't read ID3), and per-chapter images load on playback instead of bloating the
audio file. The type attribute is required; the spec prefers
application/json+chapters.
Apple's acceptance rules
Apple displays your chapters only if they meet its guidelines — otherwise listeners on up-to-date apps get Apple's generic auto-chapters instead of yours:
- First chapter starts at 00:00:00 — some apps hide your chapter list entirely otherwise.
- At least three chapters per episode.
- Each chapter ≥ 2 minutes long.
- Titles under 45 characters.
Density guidance beyond Apple's floor: a break every 4–8 minutes — 3–6 chapters for a 15–25 minute episode, 6–10 for 30–50 minutes, 10–18 for 60–90 minutes, 15–25 for 90+. Too few and listeners still scrub; too many and the list becomes noise. And name chapters for humans and search: "Introduction" adds nothing; "Why most podcasters quit in year one" tells the listener and the in-app search index exactly what's there.
Generate chapters from a transcript — free, local
The manual cost is what kills chapters: an hour of scrubbing per episode. But a timestamped transcript already contains every chapter you need — the topic shifts are the chapter boundaries, and the SRT timestamps are the chapter times. Cloud generators charge for exactly this (Castmagic, Podsqueeze, and WhisperTranscribe all gate chapters behind paid tiers); the local workflow produces the same list free:
- Transcribe locally. Drop the episode into VocalFuse — Whisper-class transcription with timestamps on your own machine. Nothing uploads, no per-minute meter, no account. Export SRT or VTT from the same pass (free tier; Basic $5/mo dictation, Pro $10/mo adds AI notes).
- Mark topic boundaries. Read the transcript and note where the conversation changes subject — usually 6–12 times in an hour. These are your chapters.
- Convert SRT → chapters. Take the SRT cue timestamp at each boundary (e.g.
00:02:08,000→128seconds), title it from what's being discussed, and write the lines asMM:SS Title. That list pastes straight into your host's chapter field, the episode description (Spotify/YouTube), or the chapters.json above. - Ship all three surfaces. Timestamps in the description,
podcast:chaptersin the feed, and the same list as your show-notes outline — one transcript, three navigable layers, plus thepodcast:transcripttag linking the source file.
The timestamps you already produced for captions are the exact data chapters consume — which is why the transcription step, done locally, is the whole cost. Our guide to local podcast transcription covers the transcription pass; the podcast:transcript tag covers linking the files from your feed.
Related reading
Podcast transcript RSS tag
The sibling tag: link VTT/SRT transcript files from your feed, pass Apple's accuracy gate, get speaker names in Apple Podcasts.
The podcast:transcript guidePodcast episode schema
The page layer that ranks in Google — PodcastEpisode JSON-LD template with transcript, duration, and AudioObject.
Episode schema templateLocal podcast transcription
Produce the timestamped files free on Windows — no upload, no per-minute meter, SRT/VTT/TXT export.
The local workflowPodcast show notes generator
Chapters are show-notes structure — turn the transcript into summary, quotes, and the notes layer too.
Show notes workflowExplore related AI note taking guides
Podcast chapters — FAQ
How do I add chapters to my podcast?
Three ways, cheapest first: (1) paste timestamped lines like "00:00 Intro" into the episode description — every app including Spotify and YouTube reads those; (2) link a chapters file from your RSS feed with the podcast:chapters tag (a JSON file with startTime, title, and optional image/url per chapter) — Apple Podcasts, Fountain, and Pocket Casts render it with full titles and links; (3) embed ID3 CHAP frames in the MP3 — native in Apple/Pocket Casts/Overcast but stripped by some hosts and ignored by Spotify. Ship at least the first two.
What are Apple Podcasts' requirements for chapters?
Your first chapter must start at 00:00:00, an episode needs at least three chapters, each chapter should be at least two minutes long, and titles should stay under 45 characters. Apple auto-generates generic chapters for English shows on iOS 26.2+ labeled "Automatically created" — but your own chapters (from the description, the feed tag, or file metadata) take priority over Apple's the moment you provide them.
Do podcast chapters help SEO?
Yes, on two layers. Podcast platforms index chapter titles — Apple Podcasts uses them to surface episodes in in-app search, and Spotify surfaces chapter-level content in its search and recommendation systems, so descriptive chapter titles ("Why most podcasters quit in year one", not "Introduction") make those terms searchable. On the web layer, chapter titles become additional indexed text elements on your episode page, and each chapter is a natural clip/section anchor for show notes. Fewer than 30% of the top 500 Apple podcasts ship chapters, so it is still a cheap edge.
Does Spotify support podcast chapters?
Spotify does not read ID3 chapter frames. It reads plain timestamped lines in the episode description and Podlove Simple Chapters data from the RSS feed; manual chapters always override Spotify's own auto-generated (English-only, limited-rollout) ones. Spotify renders titles only — no per-chapter images or links — so the rich Podcasting 2.0 JSON chapters remain worth shipping alongside for Apple and Podcasting 2.0 apps.
How many chapters should an episode have?
Roughly one break every 4–8 minutes: 3–6 chapters for a 15–25 minute episode, 6–10 for 30–50 minutes, 10–18 for 60–90 minutes, 15–25 for 90+ minutes. Name chapters descriptively — "Introduction" carries no information; "Why most podcasters quit in year one" tells the listener (and the search index) exactly what is there.
What is the chapters.json format?
The Podcasting 2.0 chapters file is a JSON array where each chapter has startTime in seconds, an optional title, and optional image and url fields: [{"startTime": 0, "title": "Intro"}, {"startTime": 128, "title": "Interview begins"}]. Host it over HTTPS and link it from the episode <item> with <podcast:chapters url="https://example.com/chapters.json" type="application/json+chapters"/>. Because it is a separate file, you can fix or extend chapters after publishing without touching the audio.
Can I generate chapters automatically from a transcript?
Yes. A timestamped transcript already contains everything a chapter list needs — topic shifts and their times. Clean the transcript, mark the topic boundaries, and export the lines as timestamps+titles. VocalFuse transcribes locally on Windows and exports SRT/VTT with timestamps, so the same file that captions your player and feeds the podcast:transcript tag also yields the chapter list — no upload, no per-minute meter, no subscription (free tier; Basic $5/mo dictation, Pro $10/mo adds AI notes).