---
title: Overlay widgets
description: Every widget explained - tip alerts, media, tip goal, chat, leaderboards, celebrations, and more.
---

Widgets are the things inside an overlay. Add and arrange them in the [overlay editor](/overlay/edit-your-overlay); here's what each one does.

## Alert box

The on-stream pop-up for everything that deserves one. Tips: "Name tipped £5", their message, your chosen sound, then TTS reading it out. Replayed tips get a gold "(Replay)" badge, and sub-reward messages show in Twitch purple.

It also renders your [Twitch alerts](/alerts/twitch-alerts) - follows, subs, cheers, raids and the rest - in the same style, so everything matches. Each event's wording, spoken TTS line, sound, and highlight colour are customisable per event.

**Font**: one font, weight and text size for every alert on the overlay, plus the same readability treatment chat and labels offer - none, shadow, or an outline in the colour and thickness you pick.

**Size**: the alert box is a rectangle you draw. The alert centers inside it, text wraps at its edges and the GIF shrinks to fit, so it can sit in a narrow sidebar or a small corner as easily as across the middle of the stream.

**Exclusive**: only one connected overlay can carry it at a time.

## Now playing bar

The caption bar for viewer-requested media: the video's title, who requested it, and an optional progress bar. Adding it (or the [Media screen](#media-screen)) makes the overlay play the media queue - videos play for up to your max duration (default 90 seconds) from the requester's chosen start time.

- Styles: classic text bar, thumbnail, or a full card.
- **Backup playlist**: when the queue is empty, a YouTube playlist of your choosing plays quietly as filler, and stops the moment a real request lands. Set it up on the [Media page](/queues/media-requests).
- Age-restricted, private, and region-locked videos are skipped automatically with an on-screen note.

**Exclusive**: one connected overlay at a time.

## Media screen

The rectangle where requested videos actually show on stream - drag it and size it like any widget. Media is **audio-only by default**: video appears only once you add a Media screen to an overlay.

The two media widgets are both optional and work in any combination: screen alone = video with no caption, bar alone = audio with the caption, both = the full setup. The eye toggle keeps the video audible but invisible, and the "Show video on stream" switch on [Controls](/queues/controls) is the instant on/off once a screen exists.

**Exclusive**: one connected overlay at a time (either media widget runs the same playback).

## Tip goal

A progress bar towards a fundraising goal - title, amount raised out of target, an optional percentage, and an optional countdown to your end date. It fills live as tips come in. The look is fully customisable from the widget's inspector: bar thickness, rounding, fill and track colours, a glow, fonts and text sizes, text above / below / on the bar itself, and an optional background panel with its own colour, opacity, rounding, and padding. The goal itself (title, target, dates, reset) is set in the same inspector.

## Chat

Your Twitch chat, your Kick chat, or **both in one box** - the channels come from Settings, Platforms, so there's nothing to type in. Badges and emotes are each platform's own (Twitch's from Twitch, Kick's real badge art from Kick, including your channel's custom sub badges), plus third-party emotes on Twitch (7TV, BetterTTV and FrankerFaceZ, each with its own toggle). Timestamps if you want them, deletes, timeouts and chat clears respected on both. With both chats showing you can put the platform's mark before each message. Three styles (classic, minimal, compact), adjustable text size and weight, and a font picker with the same curated list as alerts.

## Soundboard

Plays sound clips you or your mods trigger from the dashboard - upload and manage clips on the **TTS** page, fire them from **Controls**. No visible UI on stream, just the sound.

**Exclusive**: one connected overlay at a time.

## Chat emotes

Emotes from your chat bounce around a box you size and place - Twitch's
own plus your 7TV, BetterTTV and FrankerFaceZ emotes (each provider has a
toggle). Optionally **subscribers only** - then only subs (and you) make
emotes appear. That's it. It's great.

Coming from StreamElements? Their "emotesplosion" - a celebration blast on
alerts - is our [Event celebration](#event-celebration) widget; this one is
the everyday bouncing-chat-emotes box.

## Leaderboard

Your top supporters, live. Pick the timeframe (24 hours, week, month, or all
time), how many rows to show, and whether amounts and rank numbers appear.
Fully styleable - background colour and opacity (0 = none), rounding,
padding, font, text size, and separate colours for names, amounts, ranks,
and the title. Add more than one: a weekly board and an all-time board can
run side by side. It's independent of your public (donate page)
leaderboard settings - placing the widget is the opt-in, and its own
toggles decide what shows on stream.

## Activity feed

Recent events - tips, follows, subs, gift subs, cheers, raids, and channel
point redemptions - as a vertical list or a **sliding ticker** you can
stretch across the top of your scene. Toggle exactly which event types each
feed shows, reword every event line with `{name}` / `{amount}` / `{count}` /
`{reward}` templates, and style everything (colours, background, font,
sizes, scroll speed). Multiple feeds are encouraged: one for follows, one
for subs and tips, whatever reads best.

## Viewer count

Your live viewer count - by default just the number and a label, plain on
the scene. With Twitch and Kick both connected, pick **Both** (the two
added together, live if either is), Twitch, or Kick. Opt into a glowing
live dot, a background pill, custom label text, colours, font, and size.
Hides itself while you're offline (toggleable).

## Event celebration

Confetti and/or your own channel emotes erupt inside a box you place -
triggered by whatever you choose: every tip (or only tips over an amount),
follows, subs, gift subs, resubs, cheers (with a bits minimum), raids (with a viewer minimum),
channel point redemptions, or your tip goal being reached. Or none of
those: leave every trigger off and fire it manually through the
[developer API](/api) (`POST /v1/overlays/{id}/celebrate`,
`overlays:manage` scope) or the editor's test button.

- **Particles**: confetti (custom colour list, or the default festive mix),
  your channel emotes, or both.
- **Emote picker**: toggle whole sets (Twitch global / follower /
  subscriber / bits emotes, BTTV, FFZ, 7TV), or click individual emotes to
  knock them out of a set - or hand-pick them from a disabled one.
- **Styles**: burst, cannons, rain, float up (everything rises from the
  bottom and fills the box), fireworks - plus duration, particle amount,
  and size.
- Add several with different triggers and zones if you like.

## Text

A static text label - your own words, at any size from 8 to 200px, in the
same curated font list as alerts, with colour, alignment, and a shadow or
outline treatment. Add as many as you like and stack them anywhere.

## Image

An image you upload (PNG, JPEG, GIF, or WebP up to 8MB) - logos, frames,
panels, PNG-tuber props. Contain/cover/stretch fit and corner rounding.
Multiple allowed; the editor keeps a picker of your recent uploads.

## Custom widget

Your own widget, written in HTML/CSS/JS with a settings form you define -
and StreamElements custom widgets run as-is. Big enough to get [its own
page](/overlay/custom-widgets).

## Layer order

The Layers list is your stacking order - top of the list renders on top of
the stream. Use the up/down arrows on a layer row to bring a widget forward
or send it backward (an image behind chat, a text label above an alert).

## Status indicators

Not a widget you add - small corner banners the overlay shows on its own when something needs attention: "Overlay lost connection", "Click to enable audio", or a note about an auto-skipped video.
