# Ry-YouTube Default Settings

> A browser extension that automatically applies your \*\*default playback quality and speed\*\* on YouTube — both for regular videos and Shorts. Works on \*\*Google Chrome\*\* and \*\*Mozilla Firefox\*\* from a single Manifest V3 package.

Canonical page: [https://chrome-stats.com/d/ry-youtube-default-settings](https://chrome-stats.com/d/ry-youtube-default-settings)

## Overview

- **ID:** `ry-youtube-default-settings`
- **Platform:** Firefox
- **Type:** Firefox add-on
- **Status:** Available
- **Publisher:** Ryan Heida
- **Category:** web-development,language-support,social-communication
- **Daily users:** 1
- **Version:** 1.0.0
- **Last updated:** 2026-06-26
- **First published:** 2026-06-23
- **Size:** 55 KB
- **Data as of:** 2026-09-09
- **Store listing:** [Firefox Add-ons Store](https://addons.mozilla.org/firefox/addon/ry-youtube-default-settings/)
- **Website:** [https://links.ryanheida.com](https://links.ryanheida.com/)

## Description

<blockquote>A browser extension that automatically applies your <strong>default playback quality and speed</strong> on YouTube — both for regular videos and Shorts. Works on <strong>Google Chrome</strong> and <strong>Mozilla Firefox</strong> from a single Manifest V3 package.</blockquote>
A lightweight add-on: every time you open a YouTube video, your preferred settings are applied automatically, so you no longer need to set the quality and speed manually.

The popup is <strong>bilingual</strong> (Persian / English), with <strong>Persian as the default language</strong>.

✨ Features
<ul><li>🎚 <strong>Default speed</strong> — pick from ready-made values (0.25x to 2x) or enter a custom number (0.07 to 16).</li><li>🎞 <strong>Default quality</strong> — from 144p up to 4320p (8K), or Auto.</li><li>🧩 <strong>Two independent setting sets</strong> — one for <code>/watch</code>, one for <code>/shorts</code>.</li><li>🚫 <strong>No fallback</strong> — if the selected quality isn't present in the video's menu, the extension <strong>does nothing</strong> and leaves YouTube's current quality untouched (by design).</li><li>🌐 <strong>Browser-language independent</strong> — quality menu detection is based on the <code>p</code> suffix, not the word "Quality", so it works with any browser language.</li><li>🔄 <strong>Reset-resistant</strong> — if YouTube resets the speed to 1, it is reapplied automatically.</li><li>🌍 <strong>Bilingual UI</strong> — Persian (default) and English, switchable from the popup; your choice is remembered.</li><li>⚡ <strong>No background script</strong> — lighter and more compatible across browsers.</li></ul>
🚀 Usage
<ol><li>Click the extension icon in the toolbar to open the settings popup.</li><li>The <strong>enable/disable</strong> toggle at the top controls the whole extension.</li><li>In the <strong>Videos</strong> (<code><a href="https://prod.outgoing.prod.webservices.mozgcp.net/v1/03c84bb5331725e956e8686c505c15c356b93cf4b90e8f365be526b192d3639d/http%3A//youtube.com/watch" rel="nofollow">youtube.com/watch</a></code>) and <strong>Shorts</strong> (<code><a href="https://prod.outgoing.prod.webservices.mozgcp.net/v1/f619a73c972e8b305527421cd3ad2903dc2e50a2ef65255e69bd3f5088ff54a0/http%3A//youtube.com/shorts" rel="nofollow">youtube.com/shorts</a></code>) sections:</li><li>Choose a <strong>default quality</strong> (or "Don't change" to leave quality untouched).</li><li>Choose a <strong>default speed</strong> from the list, or pick "Custom…" and type a number.</li><li>Click <strong>Save</strong>. Settings are applied immediately to open tabs.</li><li>Go to YouTube and open a video or Short — your settings are applied automatically.</li></ol>
Language

Use the <strong>FA / EN</strong> buttons in the top-right of the popup to switch the interface language. Persian is the default; your choice is persisted and restored on the next open.

Important note about quality
<blockquote>If the selected quality (e.g. <code>720p</code>) is <strong>not available</strong> in the player menu when a video opens, the extension <strong>does nothing</strong>. This is intentional: your quality is never changed without your consent, and the video simply plays at YouTube's own default quality.</blockquote>
Settings schema

Settings are stored in <code>chrome.storage.local</code>:

<code>{
  "enabled": true,
  "lang": "fa",
  "video":  { "quality": "720p",         "speed": "1.5" },
  "shorts": { "quality": "don't change", "speed": "1" }
}
</code>

| Field      | Values                                                              |
| ---------- | ------------------------------------------------------------------- |
| <code>enabled</code>  | <code>true</code> \| <code>false</code>                                                   |
| <code>lang</code>     | <code>"fa"</code> \| <code>"en"</code> (default: <code>"fa"</code>)                                 |
| <code>quality</code>  | <code>"don't change"</code> \| <code>"Auto"</code> \| <code>"144p"</code> … <code>"4320p"</code>               |
| <code>speed</code>    | numeric string between <code>"0.07"</code> and <code>"16"</code> (e.g. <code>"1.5"</code>, <code>"2"</code>)   |

🛠 How it works

The extension consists of a single <strong>content script</strong> on <code><a href="https://prod.outgoing.prod.webservices.mozgcp.net/v1/577585700e711c66b2f847e9c2ba66f07706960fe129e88008d23cb2a93a014c/http%3A//youtube.com" rel="nofollow">youtube.com</a></code>:
<ol><li><strong>Page detection:</strong> <code>location.pathname</code> determines whether the user is on <code>/watch</code> or <code>/shorts</code>, and the matching setting set is chosen.</li><li><strong>New-video detection:</strong> because YouTube is a SPA, the <code>yt-navigate-finish</code> event and a <code>MutationObserver</code> on the <code>&lt;video&gt;</code> element are used to catch navigation between videos.</li><li><strong>Apply speed:</strong> sets <code>video.playbackRate</code> and keeps it alive on <code>ratechange</code> events against YouTube's resets.</li><li><strong>Apply quality:</strong></li><li>Opens the player settings menu (gear button).</li><li>Finds the "Quality" item using a language-independent indicator (an item whose <code>.ytp-menuitem-content</code> ends with <code>p</code> or is <code>Auto</code>).</li><li>Enters the quality submenu and looks for the target option.</li><li><strong>If found</strong> → clicks it. <strong>If not found</strong> → closes the menu and <strong>does nothing</strong>.</li></ol>
The <strong>popup</strong> uses <code>i18n.js</code>: a tiny dictionary-based helper. Elements with a <code>data-i18n</code> attribute are translated automatically; <code>data-i18n-title</code> and <code>data-i18n-placeholder</code> are supported too. The chosen language is persisted in storage under the <code>lang</code> key.

🧑‍💻 Development

You can visit the Github repository (<a href="https://prod.outgoing.prod.webservices.mozgcp.net/v1/f0412479dedd247eef8b460f2e44ebe9015f1c2a48aeb6f98f30962eb3c3e9a1/https%3A//github.com/Ryan-PG/ry-youtube-defaults-browser-plugin" rel="nofollow">https://github.com/Ryan-PG/ry-youtube-defaults-browser-plugin</a>) for development.

## Rankings

- #127,129 — Overall
- #64 — settings

## Permissions and access

### Permissions

- `storage`

### Content script matches

- `*.youtube.com`

## Safety

- **Risk impact:** Moderate risk impact
- **Risk likelihood:** High risk likelihood

### Analysis details

- Request access to the following domains: youtube.com
- This extension has low user count. Unpopular extensions may not be stable or safe.

> Some risk analysis details are omitted from this free response. [Upgrade to view the full analysis](https://chrome-stats.com/pricing).

## Similar extensions and apps

- [YT Default Speed & Tools](https://chrome-stats.com/d/youtube-default-speed) — 12 users
- [YT Speed Quick Access](https://chrome-stats.com/d/yt-speed-quick-access) — 3 users, 5.00 / 5
- [Auto HD/4k/8k for YouTube™](https://chrome-stats.com/d/auto-hd-4k-8k-for-youtube) — 3,601 users, 3.87 / 5
- [YouTube Custom Settings](https://chrome-stats.com/d/youtube-custom-settings) — 150 users, 4.69 / 5
- [Global Speed - Video Speed Control](https://chrome-stats.com/d/global-speed) — 56,043 users, 4.73 / 5
- [YouTube Auto HD + FPS](https://chrome-stats.com/d/youtube-auto-hd-fps) — 6,762 users, 4.15 / 5
- [YouTube HD Quality Settings](https://chrome-stats.com/d/youtube-quality-settings-hd) — 87 users, 5.00 / 5
- [Persist YouTube Preferences](https://chrome-stats.com/d/persist-youtube-preferences) — 1 users
- [Video Quality Settings for YouTube (HD/4K)](https://chrome-stats.com/d/youtube-video-quality) — 3,598 users, 4.19 / 5
- [Youtube Playback Speed](https://chrome-stats.com/d/youtube-playback-speed) — 591 users, 3.70 / 5
- [YouTube Enhancer 💻](https://chrome-stats.com/d/youtube-enhancer-vc) — 10,648 users, 4.56 / 5
- [YouTube Custom Playback Speed](https://chrome-stats.com/d/youtube-custom-playback-speed) — 15 users

---

Source: [Chrome-Stats](https://chrome-stats.com/d/ry-youtube-default-settings)
