YTLite Playback Speed Options: Complete Guide to Available Speeds

YTLite provides 13 preset playback speeds ranging from 0.25× to 5.0×, with an optional "Extra Speed Options" toggle that adds 5 intermediate speeds including 2.5× and 3.5×.

YTLite is a popular iOS YouTube tweak that extends playback speed control beyond YouTube's native limits. This article breaks down every available YTLite playback speed option based on the actual source code, showing exactly which speeds are available, where they're defined, and how to use them programmatically.


Complete List of YTLite Playback Speeds

Standard Speed Presets

The base YTLite playback speed options are defined in YTLite.x lines 68-69 and exposed through the Settings UI in Settings.x:

Speed Use Case
Disabled Turns off automatic speed features
Default Uses YouTube's native setting
0.25× Slow-motion analysis
0.5× Half-speed playback
0.75× Slightly slowed for comprehension
1.0× Normal speed
1.25× Slightly faster, minimal pitch shift
1.5× Common lecture/podcast speed
1.75× Aggressive speedup
2.0× Double speed
3.0× Triple speed
4.0× Quadruple speed
5.0× Maximum standard speed

Extra Speed Options (Optional)

When the extraSpeedOptions toggle is enabled in YTLite.x lines 26-34, five additional YTLite playback speed options are injected into the varispeed menu:


2.5×, 3×, 3.5×, 4×, 5×

These fill gaps between the standard presets, though notably and duplicate existing speeds while 2.5× and 3.5× are unique additions.


How YTLite Playback Speeds Work Internally

Three-Layer Architecture

The YTLite playback speed system operates across three distinct layers:

Layer File Purpose
User Defaults YTLUserDefaults.m Stores speedIndex and autoSpeedIndex preferences
Settings UI Settings.x Displays picker with speed labels
Playback Engine YTLite.x Applies numeric rates to the player

Default Registration

In YTLUserDefaults.m line 28, the defaults are registered:

// Default speedIndex is 1 ("Default"), 0 disables the feature
// Default autoSpeedIndex is 1 ("Default")

This means YTLite playback speed features are active by default with the "Default" setting, passing through to YouTube's native behavior until changed.

Settings UI Construction

The picker array in Settings.x lines 43-44 and 48-50 builds the visible options:

NSArray *speedLabels = @[LOC(@"Disabled"), LOC(@"Default"),
                         @"0.25×", @"0.5×", @"0.75×", @"1.0×",
                         @"1.25×", @"1.5×", @"1.75×", @"2.0×",
                         @"3.0×", @"4.0×", @"5.0×"];

When a user selects a row, the code calls ytlSetInt(index, @"speedIndex") to persist the choice.

Playback Engine Application

The actual numeric rates applied to the player are defined in YTLite.x lines 68-69:

NSArray *speedLabels = @[@0.25, @0.5, @0.75, @1.0,
                         @1.25, @1.5, @1.75, @2.0,
                         @3.0, @4.0, @5.0];

Two features use this array:

  • Auto-speed: Applies speedLabels[ytlInt(@"autoSpeedIndex")] automatically
  • Hold-to-speed: Temporarily applies speedLabels[ytlInt(@"speedIndex")] during long-press

Programmatically Controlling YTLite Playback Speeds

Setting Speed Preferences

From another tweak component or custom code, you can manipulate YTLite playback speed settings directly:

// Set "Hold-to-speed" to 1.0× (index 5)
ytlSetInt(5, @"speedIndex");

// Set auto-speed to 3.0× (index 8)
ytlSetInt(8, @"autoSpeedIndex");

// Disable hold-to-speed feature
ytlSetInt(0, @"speedIndex");

The ytlSetInt function writes to the same NSUserDefaults that the Settings UI reads from, ensuring consistency across the tweak.

Reading Current Settings

// Get current hold-to-speed preference
NSInteger speedIdx = ytlInt(@"speedIndex");

// Map to actual rate
NSArray *rates = @[@0.25, @0.5, @0.75, @1.0,
                   @1.25, @1.5, @1.75, @2.0,
                   @3.0, @4.0, @5.0];
float currentRate = [rates[speedIdx] floatValue];

Speed Index Reference Table

Index Speed Available In
0 Disabled All modes
1 Default All modes
2 0.25× Standard + Extra
3 0.5× Standard + Extra
4 0.75× Standard + Extra
5 1.0× Standard + Extra
6 1.25× Standard + Extra
7 1.5× Standard + Extra
8 1.75× Standard + Extra
9 2.0× Standard + Extra
10 3.0× Standard + Extra
11 4.0× Standard + Extra
12 5.0× Standard + Extra

When Extra Speed Options is enabled, additional UI entries appear for 2.5×, 3×, 3.5×, 4×, and 5× — though 3×, 4×, and 5× duplicate existing indices.


Summary

  • YTLite playback speed options include 13 standard presets from 0.25× to 5.0×, plus "Disabled" and "Default" settings
  • The Extra Speed Options toggle adds 5 intermediate speeds (2.5×, 3×, 3.5×, 4×, 5×) to the varispeed menu
  • Speed preferences are stored via speedIndex (hold-to-speed) and autoSpeedIndex (auto-speed) in YTLUserDefaults.m
  • The numeric rate array @[@0.25, @0.5, @0.75, @1.0, @1.25, @1.5, @1.75, @2.0, @3.0, @4.0, @5.0] drives both the Settings UI and the playback engine in YTLite.x

Frequently Asked Questions

What is the slowest playback speed available in YTLite?

The slowest YTLite playback speed is 0.25×, accessible at index 2 in the speed picker. This is one-quarter of normal speed, useful for detailed analysis of fast-moving content. The speed is defined in YTLite.x as the first element of the numeric rates array.

Does YTLite support speeds faster than 2×?

Yes, YTLite playback speed options extend well beyond 2×. The standard preset includes 3.0×, 4.0×, and 5.0× at indices 10, 11, and 12 respectively. These are defined in YTLite.x lines 68-69 and appear in the Settings UI picker constructed in Settings.x.

What is the difference between "Default" and "1.0×" in YTLite?

"Default" (index 1) tells YTLite to defer to YouTube's native playback speed setting, while "1.0×" (index 5) explicitly forces normal speed regardless of YouTube's default. This distinction matters if you have YouTube Premium's default speed preference set differently. The speedIndex storage in YTLUserDefaults.m handles both values identically as integers.

How do I enable the extra speed options like 2.5× and 3.5×?

Navigate to YTLite's Settings and enable the "Extra Speed Options" toggle. When active, this feature injects additional preset speeds into the varispeed menu: 2.5×, 3×, 3.5×, 4×, and 5×. The implementation in YTLite.x lines 26-34 handles this injection; note that 3×, 4×, and 5× duplicate existing standard options while 2.5× and 3.5× are unique additions.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →