Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

YouTube annotation converter

This tool no longer works! YouTube removed all annotation data from videos on January 15, 2019.
If you still have XML files containing annotations, you can convert them in bulk using this program I threw together.

What's this about?

On January 15, 2019, YouTube is getting rid of annotations.

Annotations are boxes of text and/or links that could be placed anywhere inside a video. Since May 2017 you can no longer add new annotations, and on January 15, 2019, even existing annotations will disappear. This is really unfortunate for older videos that make heavy use of them, providing commentary, background info, or corrections.

What does this tool do?

If you want to preserve your videos' annotations, you can use this tool to convert them into subtitles instead.

  1. Enter a video URL
  2. Click "Convert" and get an .srt file containing all the annotation text
  3. Upload the .srt file in YouTube Studio to add the text as subtitles

To check which of your videos have annotations, use AnnoFetch.

Isn't this a bad idea?

Almost certainly! I'm just waiting for someone to tell me why.

It's probably not the intended use for subtitles, but it seems better than nothing — at least you can keep the annotation text around in some form.

Credit is due

I wrote all the code myself, but the ideas aren't mine.