libass is a portable subtitle renderer for the ASS/SSA (Advanced Substation Alpha/Substation Alpha) subtitle format. It is mostly compatible with VSFilter.
See GitHub releases for the latest release 0.17.2 (released 2024-05-19). See the changelog for a detailed list of changes.
Source code is available from our GitHub repository.
Please use the issue tracker to report bugs or feature requests.
We have an IRC channel, too. Talk to us on irc.libera.chat/#libass. Note that we cannot be online all the time and we cannot answer IRC questions if you leave the channel. Even if you do not get an immediate response, keep your IRC client open, and we will eventually get back to you.
libass offers two build systems to choose from: Autotools and Meson.
Autotools is preferred for development since it integrates with our testing
infrastructure and is feature-complete on all platforms supported by Autotools.
If you are packaging libass for distribution, Autotools is recommended;
when packaging for Windows Meson should work equally well.
Meson lacks integration with testing infrastructure, but works otherwise well on Windows. It is suited for static-only builds on any platform well supported by Meson and as a Meson subproject. Notably, Meson supports MSVC and generation of VS project files.
The following projects/companies use libass:
- MPlayer
- mplayer2
- mpv
- VLC
- GStreamer (assrender plugin)
- FFmpeg
- Libav (unmaintained)
- Aegisub
- Kodi (XBMC)
- avidemux
- PunkGraphicsStream (BD subtitle encoder)
- HandBrake
- MX Player
- QMPlay2
- SubtitlesOctopus (JavaScript ASS via wasm libass)
- Crunchyroll uses SubtitlesOctopus
- AssRender for Avisynth(+)
- VSFilter:
- xy-VSFilter/XySubFilter
- VSFilter in MPC-HC
- VSFilterMod (with custom format extensions)
- sorayuki fork with some bugfixes
- Threaded VSFilter (defunct)
- VSFilter in Guliverkli2 (defunct, subsumed by all of the above)
- VSFilter in guliverkli (defunct, forked as Guliverkli2)
- ffdshow (defunct)
- Perian (defunct)
- asa (defunct)
- libjass (defunct)
- ASS.js