Does adding chapters re-encode the video?
No. The streams are copied as they are and only the container is rebuilt with the chapter list. Quality is identical and the file size barely changes.
Free · runs in your browser
Mark the sections of a long recording with titles and start times, and save a copy that VLC and other chapter-aware players can navigate.
To add chapters to an MP4, open the video here, go to Chapters in Edit & clean, press Add chapter for each section, give each one a start time and a title, and press Download new file. The new MP4 carries the chapter list, and players that support chapters show it as a menu you can jump through.
Chapters are metadata: a list of times and names stored next to the video, not cuts in it. The picture and sound are copied across unchanged, so adding them costs no quality. You can also see a file’s existing chapters in the Tracks section and edit or remove them the same way.
One honest note before you start: YouTube does not read chapters from the file. It builds chapters from timestamps in the video’s description, explained below. Embedded chapters are for files people download and play, such as lectures, recordings of events, tutorials and home videos.
Press Open a file (Ctrl/Cmd+O) or drop it on the page. MP4, MOV, M4V and MKV files can all take chapters.
Look in Tracks: any chapters already in the file are listed there with their times and titles.
In Edit & clean, open Chapters and press Add chapter. Set its start time and type a title. Repeat for each section, starting with one at 0:00.
Press Download new file (Ctrl/Cmd+S). FFmpeg loads in your browser the first time (about 10 MB) and writes the chapters with a stream copy.
Open the new file in VLC and look under Playback › Chapter, or press Inspect new file to see the chapter list read back from the copy.
Each container keeps chapters in its own way, but the content is always the same: a start time (and often an end time) plus a title for each section.
Because chapters change the track layout, they are written with ffmpeg.wasm, a build of FFmpeg that runs in your browser. It copies every stream as it is (no re-encode) and rebuilds the container with the new chapter list. On long files this takes a little longer than a plain tag edit, which only rewrites metadata boxes.
| Player | Shows embedded chapters? | Where |
|---|---|---|
| VLC (Windows, Mac, Linux) | Yes | Playback › Chapter lists them |
| Apple players (QuickTime Player, Apple TV app) | Yes, for MP4 and MOV chapter tracks | A chapters control in the player |
| mpv, MPC-HC, Kodi, Plex, Jellyfin | Generally yes | Varies by app and version |
| Web browsers playing a file | No | Web pages add chapters with separate WebVTT chapter files |
| YouTube, Vimeo, social apps | No | Chapters come from what you enter when you post |
| Messaging apps | No | Copies are usually rebuilt and lose chapters |
A chapter starts at the time you give it, but a player can only begin decoding from a key frame. Some players therefore land up to a second or two before the chapter. That is normal and not a fault in the chapter list.
If you are not sure where sections begin, Find scene changes in AI insights lists the cuts in the video, worked out on your device, which makes a good first draft for a recorded event.
YouTube ignores chapters embedded in an uploaded file. Its help pages say chapters come from timestamps you list in the video description, and they set three rules: the first timestamp must be 00:00, there must be at least three timestamps in ascending order, and each chapter must be at least 10 seconds long. YouTube can also make automatic chapters, but your own timestamps take priority.
00:00 Introduction
02:15 Setting up the camera
07:40 Recording the first take
15:05 Questions
If you are publishing the same video both as a download and on YouTube, keep one chapter list and use it in both places: type the times into the file here, and paste them into the description in the format above.
On the command line, FFmpeg reads chapters from a small text file in its FFMETADATA format. Times here are in milliseconds because of the TIMEBASE line:
;FFMETADATA1
[CHAPTER]
TIMEBASE=1/1000
START=0
END=135000
title=Introduction
[CHAPTER]
TIMEBASE=1/1000
START=135000
END=460000
title=Setting up the camera
ffmpeg -i talk.mp4 -i chapters.txt -map 0 -map_metadata 0 -map_chapters 1 -c copy talk-chapters.mp4
-map_chapters 1 takes the chapters from the second input (the text file) and -c copy keeps the streams as they are. Special characters in titles (=, ;, #, \) need a backslash in front. For MKV files, MKVToolNix replaces a file’s chapters in place with mkvpropedit film.mkv --chapters chapters.xml.
-show_chapters option or by opening it here.No. The streams are copied as they are and only the container is rebuilt with the chapter list. Quality is identical and the file size barely changes.
No. YouTube creates chapters from timestamps in the description (starting at 00:00, at least three, each at least 10 seconds long) or makes automatic ones.
Open it here and look in Tracks, which lists any chapters with their times and titles. In VLC, use Playback › Chapter.
Yes. MOV and M4V use the same chapter track as MP4, and MKV has its own chapters element; both are written the same way here. AVI and MPEG-TS cannot hold chapters.
Players start decoding at the nearest key frame before the chapter time. Camera footage often has a key frame every second or two, so a small offset is normal.
Remove all metadata clears them unless you turn on Keep chapters. See remove metadata from video.