YouTube Classic

Lightweight YouTube for Old PCs.

Tendrás que instalar una extensión para tu navegador como Tampermonkey, Greasemonkey o Violentmonkey si quieres utilizar este script.

You will need to install an extension such as Tampermonkey to install this script.

Tendrás que instalar una extensión como Tampermonkey o Violentmonkey para instalar este script.

Necesitarás instalar una extensión como Tampermonkey o Userscripts para instalar este script.

Tendrás que instalar una extensión como Tampermonkey antes de poder instalar este script.

Necesitarás instalar una extensión para administrar scripts de usuario si quieres instalar este script.

(Ya tengo un administrador de scripts de usuario, déjame instalarlo)

Advertisement:

Tendrás que instalar una extensión como Stylus antes de poder instalar este script.

Tendrás que instalar una extensión como Stylus antes de poder instalar este script.

Tendrás que instalar una extensión como Stylus antes de poder instalar este script.

Para poder instalar esto tendrás que instalar primero una extensión de estilos de usuario.

Para poder instalar esto tendrás que instalar primero una extensión de estilos de usuario.

Para poder instalar esto tendrás que instalar primero una extensión de estilos de usuario.

(Ya tengo un administrador de estilos de usuario, déjame instalarlo)

Advertisement:

Autor
smoochie
Instalaciones diarias
1
Instalaciones totales
43
Calificaciones
0 0 0
Versión
1.0
Creado
31/5/2026
Actualizado
31/5/2026
Tamaño
13,3 KB
Licencia
MIT
Funciona en

This script makes YouTube lighter, more user-friendly and, for the most part, finally the YouTube we remember.

It’s particularly useful on older PCs and phones running Firefox.

What the Script Does?

Video Codecs

  • Overrides MediaSource.isTypeSupported so the browser reports that VP9, AV1, and AV01 are unsupported
  • YouTube then automatically switches to H.264
  • H.264 can be hardware-decoded on older PCs, reducing CPU usage

CSS - Visual Appearance

General

  • Removes the YouTube logo
  • Restores a classic-style search bar with a grey border, no shadows, and no rounded corners
  • Removes all border-radius styling, making interface elements square

Video Feed

  • Displays 4 videos per row instead of 3
  • Channel names are shown in red

Video Page

  • Video title displayed at 18px and bold
  • Subscribe button styled as a square red button (#cc0000)
  • Comments are hidden by default and can be revealed using a Show comments button

Elements Hidden Completely

Content

  • Shorts - in the feed, sidebar, and navigation
  • Community posts (Backstage content)
  • Video previews on mouse hover

GPU-Intensive Features

  • Ambilight / Cinematic lighting effects around the player
  • Live chat during streams

Monetisation

  • "Sponsor", "Super Thanks", and merchandise buttons
  • Advertisements (google_ads, banner)

Interface

  • Filter chips above the feed
  • Unnecessary sidebar entries

JavaScript Logic

MutationObserver - tick()

  • Watches for DOM changes and re-applies element removal every 200ms
  • Required because YouTube operates as a single-page application (SPA) and loads content dynamically without refreshing the page

cleanSidebar()

  • Keeps only: Home, Subscriptions, Library, and History
  • Subscribed channels remain visible
  • Everything else is hidden

limitFeed()

  • Limits the feed to 60 videos
  • Infinite scrolling is disabled and replaced with a Load more button
  • Reduces browser load during extended browsing sessions

disableAmbient()

  • Disables Ambilight through the player's internal API (player.setAmbientMode(false))
  • Also patches yt.config_ to disable Cinematic Mode

Hover Previews

  • On mouseover of a thumbnail, stops the preview video and clears its src
  • Preview videos never load at all

If for some reason this doesn’t work, you can disable it yourself. In the settings under the profile menu, in the ‘Playback and performance’ section, turn off ‘Browsing’.

Page Navigation

  • On page transitions (yt-navigate-start), resets state including comments, buttons, and feed counters
  • On yt-page-data-updated, runs tick() again after the new page has loaded