{"id":13361,"date":"2026-10-07T13:15:24","date_gmt":"2026-10-07T18:15:24","guid":{"rendered":"https:\/\/infiniteuploads.com\/?post_type=docs&#038;p=13361"},"modified":"2026-10-07T13:15:24","modified_gmt":"2026-10-07T18:15:24","password":"","slug":"adding-captions-and-chapters-to-your-videos","status":"publish","type":"docs","link":"https:\/\/infiniteuploads.com\/docs\/video-transcoding\/adding-captions-and-chapters-to-your-videos\/","title":{"rendered":"Adding Captions and Chapters to Your Videos"},"content":{"rendered":"<!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD HTML 4.0 Transitional\/\/EN\" \"http:\/\/www.w3.org\/TR\/REC-html40\/loose.dtd\">\n<html><body><p class=\"wp-block-paragraph\">Captions and chapters make the videos in your Video Library easier to follow and more accessible. You add both from a video's details in <strong>Media &gt; Video Library<\/strong>: a caption file for each language on the <strong>Captions<\/strong> tab, and a list of chapters on the <strong>Chapters<\/strong> tab, which you can write by hand or generate from your captions with Smart Chapters.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"before-you-start\">Before You Start<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>You need the Video Cloud enabled and at least one video in your Video Library with a status of Finished.<\/li>\n\n\n\n<li>Captions and chapters appear in the Infinite Uploads player, whether you embed with the shortcode or the Infinite Uploads Video block. Player v2 shows chapters on the timeline and captions in the CC menu. To check or change your player, see <a href=\"https:\/\/infiniteuploads.com\/docs\/video-transcoding\/video-transcoding-with-infinite-uploads\/\">Video Transcoding with Infinite Uploads<\/a>.<\/li>\n\n\n\n<li>Third-party players that use your video's HLS URL don't receive captions or chapters. See <a href=\"https:\/\/infiniteuploads.com\/docs\/video-transcoding\/using-third-party-video-players-with-infinite-uploads\/\">Using Third-Party Video Players with Infinite Uploads<\/a>.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"add-a-caption-file\">Add a Caption File<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to <strong>Media &gt; Video Library<\/strong> and click the video.<\/li>\n\n\n\n<li>Click the <strong>Captions<\/strong> tab.<\/li>\n\n\n\n<li>Under <strong>Add a caption<\/strong>, choose the <strong>Language<\/strong> of the file. The <strong>Label<\/strong> fills in automatically, and you can edit it. The label is the name viewers see in the player's CC menu.<\/li>\n\n\n\n<li>Click the <strong>Caption file (.vtt or .srt)<\/strong> field and choose your file.<\/li>\n\n\n\n<li>Click <strong>Upload caption<\/strong>.<\/li>\n<\/ol>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/infiniteuploads.com\/wp-content\/uploads\/2026\/10\/video-editing-interface-showing-a-forest-scene-thumbnail-titled-qa-final-recheck.png\" alt=\"Captions tab of a video showing the existing English caption and the Add a caption form with Language, Label and file fields\" class=\"wp-image-13402\"><\/figure>\n\n\n<p class=\"wp-block-paragraph\">Your caption now shows under <strong>Existing captions<\/strong> with its language and label.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"what-files-work\">What files work<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Formats:<\/strong> WebVTT (<code>.vtt<\/code>) or SRT (<code>.srt<\/code>). We convert SRT files to WebVTT for you.<\/li>\n\n\n\n<li><strong>Size:<\/strong> 512 KB maximum per file.<\/li>\n\n\n\n<li><strong>Languages:<\/strong> English, Spanish, French, German, Italian, Portuguese, Dutch, Swedish, Polish, Russian, Japanese, Korean, Chinese, Arabic, Hindi, Turkish, Indonesian, Vietnamese, and Thai.<\/li>\n\n\n\n<li><strong>One per language:<\/strong> Each video holds one caption track for each language. Viewers pick from the languages you've added in the player's CC menu.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">If a file has the wrong extension, is over 512 KB, or is empty or malformed, the upload is refused and a message tells you why.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"remove-a-caption\">Remove a caption<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">On the <strong>Captions<\/strong> tab, click <strong>Remove<\/strong> next to the language you want to delete.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Note: There's no confirmation prompt. The caption is removed as soon as you click <strong>Remove<\/strong>, so keep a copy of the file if you may need it again.<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"generate-smart-chapters\">Generate Smart Chapters<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Smart Chapters builds a chapter list for you from the caption file you uploaded. It reads your captions, so there is no transcription step and no extra transcription cost.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Upload a caption file for the video (see above). The <strong>Generate Smart Chapters<\/strong> button stays disabled until the video has a caption track, and its tooltip tells you to upload captions first.<\/li>\n\n\n\n<li>Click the <strong>Chapters<\/strong> tab.<\/li>\n\n\n\n<li>Click <strong>Generate Smart Chapters<\/strong>. The button shows \"Generating&hellip;\" while it works.<\/li>\n\n\n\n<li>Wait for \"Smart Chapters ready\". The new chapters appear in the list with a start time, end time, and title for each.<\/li>\n<\/ol>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/infiniteuploads.com\/wp-content\/uploads\/2026\/10\/video-editing-interface-showing-forest-scene-thumbnail-chapter-list-and-editing-options.png\" alt=\"Chapters tab of a video showing three chapters with start and end times, plus the Add new Chapter, Generate Smart Chapters and Save Chapters buttons\" class=\"wp-image-13403\"><\/figure>\n\n\n<p class=\"wp-block-paragraph\">Generation usually takes a minute or less. You can close the video's details while it runs. The chapters are there when you open the video again. If you stay on the tab and it's still working after a few minutes, close and reopen the video in a minute to see the chapters.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"edit-chapters-by-hand\">Edit Chapters by Hand<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">You can edit generated chapters or build the whole list yourself on the <strong>Chapters<\/strong> tab.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Click <strong>Add new Chapter<\/strong> to add a row, or click into an existing row to change it.<\/li>\n\n\n\n<li>Enter the start time, the end time, and a title. Times use <code>mm:ss<\/code> or <code>h:mm:ss<\/code>.<\/li>\n\n\n\n<li>Click the <strong>X<\/strong> at the end of a row to remove that chapter.<\/li>\n\n\n\n<li>Click <strong>Save Chapters<\/strong>. A \"Chapters saved.\" message confirms it.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Chapters have to follow these rules:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Each chapter must end after it starts.<\/li>\n\n\n\n<li>Every chapter must stay inside the video's length. The video length is shown at the top of the tab.<\/li>\n\n\n\n<li>A chapter can't overlap the one before it.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">If a chapter breaks a rule, the plugin refuses to save and tells you which chapter to fix, for example \"Chapter 2 overlaps the previous chapter.\"<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"where-viewers-see-them\">Where Viewers See Them<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Captions:<\/strong> Viewers turn captions on and choose a language from the CC button in the player controls. Make sure the <strong>Captions<\/strong> control is checked under <strong>Player Controls<\/strong> in your Video Settings.<\/li>\n\n\n\n<li><strong>Chapters:<\/strong> Chapters show on the player's timeline, and viewers use them to jump between sections of the video.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-can-i-verify-it-is-working-\">How can I verify it is working?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">There are two ways to confirm your captions and chapters are showing for viewers.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"from-the-wordpress-dashboard-\">From the WordPress Dashboard:<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Open the video in <strong>Media &gt; Video Library<\/strong> and play it in the preview at the top. Click the CC button to see your caption languages, and look at the timeline for chapter markers.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"on-the-front-end-of-your-site-\">On the front end of your site:<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Visit a page where the video is embedded and check the CC menu and the timeline there. If you don't see a change, clear your page cache and your browser cache and reload.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"get-support\">Get Support<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Need help with captions or chapters, or have questions? <a href=\"https:\/\/infiniteuploads.com\/support\/\">Submit a support<\/a> request and a member of our team will get back to you within 24 hours. If you are having a problem, we would love the opportunity to resolve any issues. Create a ticket at <a href=\"https:\/\/infiniteuploads.com\/support\/\">https:\/\/infiniteuploads.com\/support\/<\/a><\/p>\n<\/body><\/html>\n","protected":false},"excerpt":{"rendered":"<p>Captions and chapters make the videos in your Video Library easier to follow and more accessible. You add both from a video&#8217;s details in Media &gt; Video Library: a caption file for each language on the Captions tab, and a list of chapters on the Chapters tab, which you can write by hand or generate [&hellip;]<\/p>\n","protected":false},"author":3787,"featured_media":0,"template":"","meta":{"_acf_changed":false,"wds_primary_doc_category":0,"wds_primary_doc_tag":0,"footnotes":""},"doc_category":[165],"doc_tag":[],"class_list":["post-13361","docs","type-docs","status-publish","hentry","doc_category-video-transcoding"],"acf":[],"year_month":"2026-11","word_count":862,"total_views":"4","reactions":{"happy":"0","normal":"0","sad":"0"},"author_info":{"name":"Blake Whittle","author_nicename":"blakew","author_url":"https:\/\/infiniteuploads.com\/blog\/author\/blakew\/"},"doc_category_info":[{"term_name":"Video &amp; Transcoding","term_url":"https:\/\/infiniteuploads.com\/docs-category\/video-transcoding\/"}],"doc_tag_info":[],"knowledge_base_info":[],"knowledge_base_slug":[],"_links":{"self":[{"href":"https:\/\/infiniteuploads.com\/api\/wp\/v2\/docs\/13361","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/infiniteuploads.com\/api\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/infiniteuploads.com\/api\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/infiniteuploads.com\/api\/wp\/v2\/users\/3787"}],"version-history":[{"count":3,"href":"https:\/\/infiniteuploads.com\/api\/wp\/v2\/docs\/13361\/revisions"}],"predecessor-version":[{"id":13418,"href":"https:\/\/infiniteuploads.com\/api\/wp\/v2\/docs\/13361\/revisions\/13418"}],"wp:attachment":[{"href":"https:\/\/infiniteuploads.com\/api\/wp\/v2\/media?parent=13361"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/infiniteuploads.com\/api\/wp\/v2\/doc_category?post=13361"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/infiniteuploads.com\/api\/wp\/v2\/doc_tag?post=13361"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}