Skip to content

Clean Telegram WebA by 0ko

Imported from a private source

Mirrored from

Screenshot of Clean Telegram WebA






Size2.8 kB


Learn how we calculate statistics in the FAQ.

Failed to fetch stats.


Makes Telegram WebA/WebZ cleaner.


Removes or hides unnecessary things such as:

  • ads
  • Stories
  • Premium badges
  • Premium promotions and UI elements that can only be used with Premium

So there is little reason to install it if you have a Premium subscription.

Сhangelog · License · Feedback

Source code

/* ==UserStyle==
@name          Clean Telegram WebA
@author        0ko (
@description   Makes Telegram WebA/WebZ cleaner.
@version       1.8.1
@license       MIT
@preprocessor  stylus

@namespace     0ko userstyles

@var checkbox  noAds                "No built-in ads"                1
@var checkbox  noPremiumPromo       "No Premium promo"               1
@var checkbox  noPremiumBadges      "No Premium badges"              1
@var checkbox  noPremiumDecorations "No Premium message decorations" 1
@var checkbox  noPremiumTags        "No Premium Saved Messages tags" 1
@var checkbox  noSendAs             "No send as channel"             1
@var checkbox  noStories            "No Stories (others')"           1
@var checkbox  noMyStories          "No My Stories"                  1
@var checkbox  noOverscrollStories  "No Stories in Archive overscroll (buggy)" 0

==/UserStyle== */

imp = !important

@-moz-document url-prefix(""), url-prefix(""), domain(""), domain("")

	if noAds
			display: none imp

	if noPremiumPromo
		button[title="Custom Emoji"]
			display: none imp

		.settings-main-menu:has(.settings-main-menu-premium) /* FF compat. */
			display: none imp

	if noPremiumBadges
		.PremiumIcon :not(.big)
		.message-title .custom-emoji
		.ChatFolders .ListItem-button .info-row .title .custom-emoji /* chats list & header */
		.ProfileInfo .title .custom-emoji /* user info */
		.ChatInfo .info .title .custom-emoji /* chat members list */
		.reactor-list .title .custom-emoji /* reacted users */
			display: none imp

	if noPremiumDecorations
			display: none imp
			background: var(--accent-color) imp

	if noPremiumTags
		/* don't show reaction selector if it contains hint about tags being premium only feature and shows lock icon on reactions */
			display: none imp

	if noSendAs
			display: none imp
		.Button + .symbol-menu-button
			margin-left: 0.75rem imp

	if noStories
		.LeftMainHeader .SearchInput button[type="button"][aria-label]:first-child
			display: none imp
				display: none imp

	if noMyStories
		/* burger - "My Stories" */
		.LeftMainHeader .Menu .MenuItem:has(.icon-play-story)
			display: none imp

	if noOverscrollStories
		.ArchivedChats .chat-list-wrapper.with-story-ribbon
			display: none imp


No reviews yet.