ESL
Expressive Subtitle Language (ESL) is a human-readable subtitle format based on HCL. It supports core styling, positioning, and karaoke features from ASS, but omits complex graphics and transitions. Its chunked structure simplifies authoring, validation, and integration into streaming workflows.
Install / Use
/learn @OpenAnime/ESLREADME
ESL is an open-source initiative defining a rich, human-readable subtitle format designed for expressive and dynamic text presentations. It leverages the clarity of HCL (HashiCorp Configuration Language) to provide a comprehensive framework for timed text, intricate styling, complex motion effects, and karaoke.
Key Features
- Expressive Styling: Hierarchical styles, per-cue overrides, fine-grained control over fonts, colors, borders, shadows, and alignment.
- Advanced Motions: Define reusable, multi-property animations (opacity, position, scale, rotation, shear) with various easing functions and precise timing.
- Karaoke Support: Built-in syntax for word-by-word or syllable-by-syllable text reveal.
- Human-Readable Syntax: Based on HCL, making files easy to write, read, debug, and version control.
- Structured & Modular: Logical organization into
meta,style,motion, andcueblocks promotes maintainability. - Extensible: Designed with future enhancements in mind.
Specification
The definitive guide to the ESL format, its syntax, and semantics can be found in the official specification:
➡️ Read the ESL Specification (Version 1.1)
This document details all available blocks, attributes, data types, and conventions for creating valid ESL files.
Examples
A simple ESL file (example.esl):
meta {
title = "Simple Demo"
esl_version = "1.1"
resolution = [1920, 1080]
default_style = "default"
}
style "default" {
font_family = "Arial"
font_size = 48
color = "#FFFFFF"
align = "bottom-center"
shadow = [2, 2, 3, "#00000080"]
}
motion "fade_in_quick" {
duration = 300
opacity = 1
}
cue {
in = 1000
out = 5000
opacity = 0
text = "Hello, World!"
style = "default"
motion_in = ["fade_in_quick"]
}
Related Skills
openhue
349.0kControl Philips Hue lights and scenes via the OpenHue CLI.
sag
349.0kElevenLabs text-to-speech with mac-style say UX.
weather
349.0kGet current weather and forecasts via wttr.in or Open-Meteo
tweakcc
1.6kCustomize Claude Code's system prompts, create custom toolsets, input pattern highlighters, themes/thinking verbs/spinners, customize input box & user message styling, support AGENTS.md, unlock private/unreleased features, and much more. Supports both native/npm installs on all platforms.
Security Score
Audited on Mar 18, 2026
