Skip to content

SponsorBlock

Repohttps://github.com/firefox-extensions-declarative/SponsorBlock-declarative
Extension IDsponsorBlocker@ajay.app

Run npm install and then npm run build:firefox.

To create the XPI, run:

Terminal window
npx web-ext build -s dist -a web-ext-artifacts

The XPI will be located in web-ext-artifacts/.

Keyboard shortcut.

Key name.
Type: string | null

Keyboard code.
Type: string | null

Whether Ctrl is required.
Type: boolean | null

Whether Alt is required.
Type: boolean | null

Whether Shift is required.
Type: boolean | null

Skip behavior for one category.

Category name.
Type: string

Common values include "sponsor", "selfpromo", "interaction", "intro", "outro", "preview", "music_offtopic", "poi_highlight", "filler", "exclusive_access", and "chapter".

Skip behavior.
Type: -2 | -1 | 0 | 1 | 2

  • -2: fallback to default
  • -1: disabled
  • 0: show overlay
  • 1: manual skip
  • 2: auto skip

Preview bar style.

Bar color.
Type: string

Bar opacity.
Type: string

This section lists supported policy preferences. It intentionally omits account IDs, counters, payment state, and other runtime/stateful values even if they exist in sync storage.

Per-category submission permissions.
Type: Record<string, { canSubmit: boolean }>
Default: {}

Default category when creating segments.
Type: string
Default: "chooseACategory"

Default popup tab.
Type: 0 | 1
Default: 0

  • 0: segments
  • 1: chapters

Render segments as chapters.
Type: boolean
Default: false

Force channel check before submission-related actions.
Type: boolean
Default: false

Show saved time with skips.
Type: boolean
Default: true

Disable all skipping.
Type: boolean
Default: false

Mute muted categories instead of skipping them.
Type: boolean
Default: true

Enable support for full-video segments.
Type: boolean
Default: true

Show full-video labels on thumbnails.
Type: boolean
Default: true

Require manual skip for full-video segments.
Type: boolean
Default: false

Track total views for stats.
Type: boolean
Default: true

Track views in private windows.
Type: boolean
Default: true

Track downvotes locally.
Type: boolean
Default: true

Track downvotes in private windows.
Type: boolean
Default: false

Disable skip notices.
Type: boolean
Default: false

Show upcoming skip notice.
Type: boolean
Default: false

Skip notice display mode.
Type: 0 | 1 | 2 | 3 | 4
Default: 3

  • 0: full size
  • 1: mini for auto-skip
  • 2: mini for all
  • 3: faded for auto-skip
  • 4: faded for all

Hide SponsorBlock player controls.
Type: boolean
Default: false

Hide info button in player controls.
Type: boolean
Default: false

Hide delete button in player controls.
Type: boolean
Default: false

Hide upload button in player controls.
Type: boolean
Default: false

Hide skip button in player controls.
Type: boolean
Default: false

Hide Discord link.
Type: boolean
Default: false

List of Invidious instances.
Type: Array<string>
Default: []

Enable Invidious support.
Type: boolean
Default: false

SponsorBlock API server.
Type: string
Default: value from repo config.json

Minimum segment duration to skip.
Type: number
Default: 0

How long skip notices stay visible.
Type: number
Default: 4

Play audio notification on skip.
Type: boolean
Default: false

Check for unlisted videos during submission flows.
Type: boolean
Default: false

Use testing server.
Type: boolean
Default: false

Enable experimental features.
Type: boolean
Default: true

Show donation link.
Type: boolean
Default: true

Show upsell UI.
Type: boolean
Default: true

Show new feature popups.
Type: boolean
Default: true

Auto-hide info button.
Type: boolean
Default: true

Auto-skip on music videos.
Type: boolean
Default: false

Only skip non-music segments on YouTube Music.
Type: boolean
Default: false

Named colors used by UI.
Type: { red: string; white: string; locked: string }
Default: { red: "#780303", white: "#ffffff", locked: "#ffc83d" }

Enable updated scroll-to-edit-time behavior.
Type: boolean
Default: false

Use dark mode in extension UI.
Type: boolean
Default: true

Show category guidelines.
Type: boolean
Default: true

Show categories without permission.
Type: boolean
Default: false

Show segment names in chapter bar.
Type: boolean
Default: true

Show autogenerated YouTube chapters.
Type: boolean
Default: true

Use virtual time for segment timing.
Type: boolean
Default: true

Show warning when segments fail to fetch.
Type: boolean
Default: true

Allow scrolling to edit timestamps.
Type: boolean
Default: true

Show zoom-to-fill warning.
Type: boolean
Default: true

Use cleaner popup layout.
Type: boolean
Default: false

Hide popup segment creation UI.
Type: boolean
Default: false

Enable pride theme.
Type: boolean
Default: false

Skip keybind.
Type: Keybind
Default: { key: "Enter" }

Skip to highlight keybind.
Type: Keybind
Default: { key: "Enter", ctrl: true }

Start segment keybind.
Type: Keybind
Default: { key: ";" }

Submit keybind.
Type: Keybind
Default: { key: "'" }

Confirm submit keybind.
Type: Keybind
Default: { key: "'", ctrl: true }

Preview keybind.
Type: Keybind
Default: { key: ";", ctrl: true }

Next chapter keybind.
Type: Keybind
Default: { key: "ArrowRight", ctrl: true }

Previous chapter keybind.
Type: Keybind
Default: { key: "ArrowLeft", ctrl: true }

Close skip notice keybind.
Type: Keybind
Default: { key: "Backspace" }

Downvote keybind.
Type: Keybind
Default: { key: "h", shift: true }

Upvote keybind.
Type: Keybind
Default: { key: "g", shift: true }

Skip behavior per category.
Type: Array<CategorySelection>
Default: sponsor auto-skip, poi highlight manual skip, exclusive access show overlay, chapter show overlay

Preview bar colors and opacity for each category.
Type: Record<string, PreviewBarOption>
Default: see src/config.ts