YTSubConverter
A tool for creating styled YouTube subtitles.

About this tool
YouTube's built-in subtitle editor doesn't support styling of any kind. If you want formatting such as bold, italic and coloring, you need to upload a subtitle file instead. The site accepts a number of file formats such as RealText, WebVTT and TTML, but all of these come with their own limitations - and most importantly, none of them give access to the full array of features offered by the YouTube player. For that, you need to use a YouTube-specific format called SRV3 (also referred to as YTT for "YouTube Timed Text"). It supports the following:
- Bold/italic/underline
- Text coloring and transparency
- Background coloring and transparency (including hiding the background box completely)
- Outlines, glows and drop shadows
- Fonts and font sizes
- Positioning (place your subtitles anywhere on the video)
- Karaoke timing (make the syllables of a song lyric appear as they're sung)
- Vertical text
- Ruby text
YTSubConverter can produce this file format for you.
The current version is 1.6.3 and is available for Windows, macOS and Linux (the Linux version requires Mono).

Usage
YTSubConverter is primarily an .ass → .ytt converter. You can create .ass subtitles using Aegisub.
Conversion is straightforward: launch the program, open your .ass file and click Convert. Alternatively, drag the .ass straight onto the .exe (Windows only). In both cases, you'll get a .ytt file that's ready for upload.
The program tries to approximate the look of the Aegisub subtitles as closely as possible on YouTube:

You'll notice that each .ass shadow can turn into one of four different YouTube shadow types: glow (same as outline), bevel, soft shadow and hard shadow. You can even combine multiple shadow types if you want - just choose from the checkboxes in the conversion UI. This is also where you can configure current word highlighting for karaoke.

Apart from converting from .ass to .ytt, the tool can also convert from .sbv (the format you get when downloading subs from YouTube's built-in editor) to .srt. This allows you to download existing, unstyled subs and add styling to them. Simply open the .sbv file, click Convert, and open the resulting .srt file in Aegisub.