# Built-in elements

The basic building blocks every overlay can use, from text and images to chat, timers and the media player.

Built-in elements are the basic parts of any overlay: text, images, shapes, sounds, chat, timers and players. Every account has them; you find them under **Add** in the editor toolbar (`kbd:W`), sorted into the same categories as the other widgets. Some also have their own tool in the toolbar.

Chat commands on this page only work for you and your mods.

## Text

Titles, labels, "Be right back" messages and scrolling tickers. Press `kbd:T` to add text straight away, or find **Text** under **Text & Info**.

Type into **Text**; Enter starts a new line. The text toolbar in the settings card adds underline, accent color and variables. Variables for your connected Twitch or Kick account show live values; time and date work without an account. **Top line** and **Bottom line** add small lines above and below.

**What it shows** switches between the text itself, **Rotating lines** (one line per entry, changing every few seconds) and a **Countdown** to a date and time. **Reveal** picks the entrance animation and **Show** can turn the text into a one-line chip or a **Ticker rail**.

Chat commands: `!settext Back in 5` replaces the text, `!textnext` jumps to the next rotating line, `!textreveal` replays the entrance, `!textclear` empties it and `!textreset` goes back to the text from the editor. A chat text stays after an OBS reload until you change the text in the editor.

## Image

Logos, PNGs, GIFs and short videos. Adding an image opens the file picker; you can also choose from **Files** or paste a URL into **Image source**. **Fit** shows the whole image or fills the box by cropping the edges. Add a **Frame**, **Corner rounding (%)** or a **Drop shadow**, and flip it with the quick buttons above the selected image.

## Sound

A sound you can play live. Upload an audio file in **Files**, then choose **Add to Sounds**. Your sounds show up in the **Sounds** tool (`kbd:S`) and in the Sounds section of the **Quick-Fire Deck**. A sound has no visible layer on the canvas.

Set the **Volume** per sound. Chat commands: `!play` plays the sound, `!stopsound` stops it.

## Shape

Boxes, bars, circles, stars and other shapes for backgrounds and dividers. Find **Shape** under **Built-ins**. Pick a **Shape**, a **Fill color** and, if you like, **Fill with a gradient**, a border or a **Glow**. **Opacity** makes it see-through.

## Draw

Draw on your stream live: circle something in the game, point with an arrow or write a quick note. Click **Draw** in the toolbar (`kbd:D`) and a drawing surface is set up for you.

The drawing tools include pen, line, arrow, rectangle, circle, eraser and a laser pointer. In **Fade** mode strokes disappear after a few seconds; in **Stay** mode they remain until you clear them. **Fade after (seconds)** and **Fade-out speed (seconds)** set the timing. Click **Done drawing** when you are finished.

## Media

GIFs, stickers and memes that pop up on stream. Open **Gifs** in the toolbar (`kbd:G`), search, and click to send one. The first time you send something, the Media element is added for you.

**Spawn position** decides where media appears; drag its marker on the canvas. **Clip look** chooses between **Center Stage**, **Corner Pop** and **Fullscreen Blast**. **GIF duration (s)**, **Sticker duration (s)** and **Meme duration (s)** set how long each kind stays.

## Media Player

YouTube videos, your channel's clips or a live stream on your overlay. Find **Media Player** under **Music & Media** and choose a **Source**:

- **Video / channel queue** plays YouTube. Paste a link into **YouTube URL or video ID** or use the queue. **Song requests** lets viewers add songs, see [Song requests](/docs/song-requests).
- **Clips from your channels** plays **Twitch clips** and **Kick clips**: top, newest or random.
- **Live stream** shows a Twitch or Kick **Channel**.

**Open Player console** (or **Player** in the toolbar, `kbd:P`) controls playback. The player starts **Muted**, because browsers and OBS only allow autoplay while muted; turn it off and set the **Volume** when you want sound. **Duck while an alert plays** lowers it during alerts.

Quick buttons above the player: **Play**, **Skip**, **Pause** and **Muted**. Chat commands: `!player resume`, `!player skip`, `!player pause`.

## Chat

Your live chat on stream, from all connected channels. Find **Chat** under **Chat & Community** and pick the **Chat channels** to show.

Choose a **Row layout** (line, bubble or card) and what to **Show**: a header and list, the list only, just the newest message as a chip, or a horizontal ticker. **Hide after (seconds)** fades old messages; 0 keeps them until **Max messages** pushes them out.

Filters hide bot messages and commands by default, and **Emote-only messages** shows only messages that are nothing but emotes. Highlights mark mentions, first-time chatters, cheers and subs. **Read messages out loud** adds a voice.

Chat commands: `!chattest` shows a sample line, `!chatclear` clears the chat on the overlay. Both are also quick buttons above the widget.

## Countdown

Counts down to your start or the end of a break. Find **Countdown** under **Text & Info**.

**Count to** a **Duration** (minutes and seconds) or a **Date and time**, such as `2026-12-31 20:00`, or just `20:00` for every day. **When it hits zero** can stay on 00:00, hide the countdown or switch OBS to a **Program scene** by its exact name. **Count past zero** keeps counting into overtime, and **Text at zero** replaces the digits.

Subs and Bits add time: **Minutes per sub** and **Minutes per 100 bits**, 1 minute each by default.

Chat commands: `!timerstart`, `!timerpause` (pause and resume), `!timerstop`, `!timerrestart`, `!timerreset`, and `!timeradd 5` or `!timersub 5` to change the time by minutes.

## Stopwatch

Counts up for uptime, speedruns or challenge runs. Find **Stopwatch** under **Text & Info**.

Turn on **Start automatically** or start it by hand. **Precision** goes down to hundredths. For speedruns, name your rounds under **Round names** and turn on **Show round history**; **Timing label** can show RTA or IGT.

Chat commands: `!swstart`, `!swpause`, `!swstop`, `!swrestart`, `!swreset`, plus `!swsplit` to close a split, `!swunsplit` to undo it and `!swskip` to skip one.

## Live source

A placeholder that marks where your game or camera goes, so you can design around it. Find **Live source** under **Built-ins**, choose **Game or screen** or **Camera** as **Source** and set a **Placeholder text**. In the editor it shows a labeled stand-in; in OBS it stays empty, so the capture source below the overlay shows through.

> [!TIP]
> Every element can be duplicated, locked and restyled like any other widget, see [Editor basics](/docs/editor-basics).

## Settings reference

Every built-in element and its settings, as they appear in the settings card.

### Text settings

| Setting | Default | Values | Notes |
| --- | --- | --- | --- |
| Text | Welcome to the stream | Text | Underline, accent color and variables come from the text toolbar in the card. Enter starts a new line. Variables for your connected Twitch or Kick account show live values; time and date work without an account. |
| Top line | Empty | Text | Small line above the text. Empty hides it. |
| Bottom line | Empty | Text | Small line below the text. Empty hides it. |
| Reveal | Slide | Fade, Slide, Pop, Typewriter, Word by word, Scramble, Letter rise |  |
| Show | Top line, text and bottom line | Top line, text and bottom line, Text only, Chip (one line), Ticker rail |  |
| Compact | Off | On or off | Smaller type and tighter padding. |
| Align | Center | Left, Center, Right |  |
| Fit to width | Off | On or off | Shrinks the text to one block width instead of wrapping. |
| Wrap width (px) | 480 | 240 to 1900 | Where wrapped lines break. Ignored when Fit to width is on. |
| Scale (%) | 42 | 16 to 64 | 42 is the look's native size; the whole card scales as one unit. |
| Width (px) | 480 | 240 to 900 |  |
| Icon | No icon | No icon, Heart (follows), Star (subs), Diamond (bits), Coin (tips), Medal (points), Flag (custom), Dot and 3 more |  |
| Trailing dots | Off | On or off | Three dots after the text that bounce when it appears. |
| Accent color | Look default | Any color | Empty keeps the look's own accent. |
| Countdown finish | Full (text + particles) | Full (text + particles), Subtle (flash only), Off | Only used by the countdown. |
| Background plate | On | On or off | Show the background plate for supported designs. Standard remains transparent. |
| Text font | Look default | Look default, Archivo Black, Anton, Caveat | Choose an explicit font for the text. Empty preserves the look typography. |
| Motion | Full | Full, Reduced | Reduced keeps the text still. |
| Text font | Look default | Look default, Baloo 2, Nunito, Quicksand, Inter, Geist, Sora, Bricolage Grotesque and 7 more | Used by Loot Drop. |
| Top line font | Look default | Look default, Baloo 2, Nunito, Quicksand, Inter, Geist, Sora, Bricolage Grotesque and 7 more | Used by Loot Drop. |
| Bottom line font | Look default | Look default, Baloo 2, Nunito, Quicksand, Inter, Geist, Sora, Bricolage Grotesque and 7 more | Used by Loot Drop. |
| What it shows | The text above | The text above, Rotating lines, Countdown | Static uses the text above. Rotation cycles a list. Countdown counts to a moment. |
| Rotating lines | Follow for *more* Next stream **Friday** Discord in the *panels* | Text | One line per entry. Same *accent* / **strong** markup and tokens as the text. |
| Seconds per line | 8 | 2 to 120 |  |
| Countdown target | Empty | Text, e.g. 2026-12-31 20:00 | Local time, for example 2026-12-31 20:00. The text above carries the {countdown} token. |
| When it hits zero | We're live | Text |  |
| Ticker messages | Empty | Text | One message per line. Empty runs the text above as the rail. |
| Separator | Look's own | Look's own, Dot, Star, Diamond, Pipe | Look's own draws the design's separator material. |
| Ticker speed (px/s) | 90 | 0 to 400 | 0 holds the rail still. |
| Ticker direction | Right to left | Right to left, Left to right |  |
| {title} fallback | Empty | Text | Text the {title} token shows when no stream title is available. |
| {game} fallback | Empty | Text | Text the {game} token shows when no category is available. |

### Image settings

| Setting | Default | Values | Notes |
| --- | --- | --- | --- |
| Image source | Empty | Text, e.g. https://.../file.jpg or .mp4 | Upload an image, choose one from Files, or paste a URL. Existing video URLs are supported. |
| Fit | Show whole image | Show whole image, Fill box (crop edges) | Show the full image within the box, or fill it by cropping the edges. |
| Loop video | On | On or off | Repeat video playback. Turn off to play once. |
| Frame | None | None, White frame, Dark frame |  |
| Corner rounding (%) | 0 | 0 to 50 |  |
| Image fill opacity | 1 | 0 to 1 |  |
| Drop shadow | Off | On or off |  |
| Show background plate | Off | On or off |  |
| Box width (px) | 1152 | 200 to 1920 |  |
| Box height (px) | 648 | 200 to 1080 |  |
| Flip horizontal | Off | On or off |  |
| Flip vertical | Off | On or off |  |

### Shape settings

| Setting | Default | Values | Notes |
| --- | --- | --- | --- |
| Shape | Rounded rectangle | Rectangle, Rounded rectangle, Bar, Circle / ellipse, Triangle, Diamond, Pentagon, Hexagon and 5 more |  |
| Width (px) | 480 | 20 to 1920 |  |
| Height (px) | 270 | 20 to 1080 |  |
| Corner radius (px) | 16 | 0 to 50 | Only used by Rounded rectangle and Bar. |
| Fill color | `#3d5d7a` | Any color |  |
| Fill with a gradient | On | On or off |  |
| Second gradient color | `#244056` | Any color | Turn on "Fill with a gradient" to use this. |
| Opacity | 1 | 0 to 1 |  |
| Border width (px) | 0 | 0 to 40 |  |
| Border color | `#2dd4bf` | Any color |  |
| Glow | Off | On or off |  |

### Sound settings

| Setting | Default | Values | Notes |
| --- | --- | --- | --- |
| Sound | Empty | Text | https:// URL or an uploaded file. |
| Volume | 0.1 | 0 to 1 |  |

### Draw settings

| Setting | Default | Values | Notes |
| --- | --- | --- | --- |
| Base shape | None (just a drawing surface) | None (just a drawing surface), Rectangle, Rounded rectangle, Circle, Bar |  |
| Shape width (px) | 960 | 40 to 1920 |  |
| Shape height (px) | 540 | 40 to 1080 |  |
| Fill color | `#ffffff` | Any color | Only used when a base shape is on. |
| Opacity | 1 | 0 to 1 | Only used when a base shape is on. |
| Border width (px) | 0 | 0 to 40 | Only used when a base shape is on. |
| Border color | `#ffffff` | Any color | Only used when a base shape is on. |
| Fade after (seconds) | 3 | 0.5 to 10 |  |
| Fade-out speed (seconds) | 0.6 | 0.2 to 2 |  |

### Media settings

| Setting | Default | Values | Notes |
| --- | --- | --- | --- |
| Clip look | Center Stage | Center Stage, Corner Pop, Fullscreen Blast |  |
| Fit | Contain (fit inside, no crop) | Contain (fit inside, no crop), Cover (fill, crop overflow) |  |
| Spawn position | 1 point | Drag the marker on the canvas |  |
| GIF size | 1 | 0.15 to 2 |  |
| GIF duration (s) | 5 | 1 to 30 |  |
| Sticker duration (s) | 5 | 1 to 30 |  |
| Meme duration (s) | 6 | 1 to 30 |  |

### Media Player settings

| Setting | Default | Values | Notes |
| --- | --- | --- | --- |
| Source | Video / channel queue | Video / channel queue, Clips from your channels, Live stream |  |
| Twitch clips | On | On or off | Only used for the clips source. |
| Kick clips | Off | On or off | Only used for the clips source. |
| Which clips | Top clips | Top clips, Newest clips, Random | Only used for the clips source. |
| Top period | Last 7 days | Last 24 hours, Last 7 days, Last 30 days, All time | Only used for top clips. |
| Platform | Twitch | Twitch, Kick | Only used for the stream source. |
| Channel | Empty | Text, e.g. channel name | Only used for the stream source. |
| Video size | Match the video - Shorts play upright, no crop, no bars | Match the video - Shorts play upright, no crop, no bars, Fill the box - crop edges (no black bars), Fit inside the box - may show empty edges |  |
| Box width (px) | 1152 | 200 to 1920 |  |
| Box height (px) | 648 | 200 to 1080 |  |
| Song requests | On | On or off | Song requests are YouTube only. |
| Autoplay | On | On or off | Only used for a field video. |
| Loop | Off | On or off | Only used for a field video. |
| Start time (seconds) | 0 | 0 to 359999 | Only used for a field video. |
| Show player controls | Off | On or off | Only used for a field video. |
| Seconds per clip | 60 | 10 to 900 | Only used for the clips source. |
| Next clip | When the clip ends | When the clip ends, When the timer runs out | Only used for the clips source. |
| Max quality | 720p | 360p, 480p, 720p, 1080p | Only used for the clips source. |
| Muted | On | On or off | Browsers and OBS only allow autoplay while muted. |
| Volume | 100 | 0 to 100 |  |
| Duck while an alert plays | Off | On or off | Lowers this player while an alert plays (same overlay). |

### Chat settings

| Setting | Default | Values | Notes |
| --- | --- | --- | --- |
| Chat channels | All connected channels | Your connected Twitch, Kick and YouTube channels |  |
| Background | On | On or off | Panel behind the chat. Turn off for messages on a transparent stream. |
| Row layout | Line (one text line per message) | Line (one text line per message), Bubble (name on top), Card (plate with a rim) |  |
| Density | Normal | Normal, Compact (tighter rows) | Compact fits more messages into the same height: tighter rows, smaller badges and emotes, slightly smaller text. Every look keeps its own style. |
| Show | List only | Header and list, List only, Chip (newest message only), Ticker (horizontal crawl) |  |
| Header title | Chat | Text | Up to 16 characters. Empty hides the title. |
| Header dot | Off | On or off | A dot in the accent color before the title. |
| New message position | Enter at bottom (rows push up) | Enter at bottom (rows push up), Enter at top (rows push down) |  |
| Accent color | Look default | Any color | Empty keeps the look's own accent. |
| Text size (px) | 17 | 11 to 34 |  |
| Width (px) | 400 | 240 to 900 |  |
| Height (px) | 560 | 120 to 1080 |  |
| Max messages | 20 | 1 to 60 |  |
| Hide after (seconds) | 0 | 0 to 300 | 0 keeps every message until the cap pushes it out. |
| Show badges | On | On or off |  |
| Show timestamps | On | On or off |  |
| Timestamp format | 24 hour | 24 hour, 12 hour |  |
| Show platform icons | Off | On or off |  |
| 7TV / BTTV / FFZ emotes | On | On or off |  |
| Hide bot messages | On | On or off |  |
| Hide commands (!… and /…) | On | On or off |  |
| Emote-only messages | Off | On or off | Shows only messages that are nothing but emotes. |
| Highlight mentions | On | On or off |  |
| Extra keyword | Empty | Text |  |
| Highlight first-time chatters | On | On or off |  |
| Highlight cheers and subs | On | On or off |  |
| Read messages out loud | Off | On or off |  |
| Voice | Harper (English US, female) | Harper (English US, female), Amy (English US, female), Ryan (English US, male), Mason (English US, male), Alba (English UK, female), Callum (English UK, male), Thorsten (German, male), Kerstin (German, female) and 13 more |  |
| Read the name too | On | On or off |  |
| Max characters | 160 | 40 to 400 |  |
| Volume | 70 | 0 to 100 |  |

### Countdown settings

| Setting | Default | Values | Notes |
| --- | --- | --- | --- |
| Label | Empty | Text |  |
| Status line | Empty | Text | Empty uses the status. Tokens: {current} {remaining} .. |
| Label icon | No icon | No icon, Heart (follows), Star (subs), Diamond (bits), Coin (tips), Medal (points), Flag (custom) |  |
| Accent color | Look default | Any color |  |
| Show | Label, clock and status | Label, clock and status, Clock only, Chip (one line) |  |
| Compact strip | Off | On or off |  |
| Stacked units | Off | On or off |  |
| Blink colon | Off | On or off |  |
| Show rail | Off | On or off |  |
| Scale (%) | 24 | 16 to 64 |  |
| Max width (px) | 280 | 240 to 900 |  |
| Precision | Seconds (00:00) | Seconds (00:00), Tenths (00:00.0), Hundredths (00:00.00) |  |
| Hours | Auto (only past an hour) | Auto (only past an hour), Always show hours, Never show hours |  |
| Zero celebration | Full (text + particles) | Full (text + particles), Subtle (flash only), Off |  |
| Celebrate how often | Once per stream | Once per stream, Every time | Only used when celebrations are on. |
| Count to | Duration | Duration, Date and time |  |
| Duration - minutes | 5 | 0 to 180 |  |
| Duration - seconds | 0 | 0 to 59 |  |
| Target date and time | Empty | Text, e.g. 2026-12-31 20:00 | Local time: a date like 2026-12-31 20:00, or just 20:00 for every day (after that time it counts to tomorrow). |
| Count past zero | Off | On or off |  |
| When it hits zero | Stay on 00:00 | Stay on 00:00, Hide the countdown, Make program scene | Make program scene switches OBS to a named scene at zero. |
| Program scene | Live | Text | Exact scene name, for example Live or Starting Soon. |
| Text at zero | Empty | Text, e.g. Starting now | Replaces the digits when the countdown ends (up to 24 characters). Empty keeps 00:00. |
| Start automatically | Off | On or off |  |
| Minutes per sub | 1 | 0 to 30 |  |
| Minutes per 100 bits | 1 | 0 to 30 |  |
| Time shown | Remaining time | Remaining time, Elapsed time, Last finished duration | Choose which time the clock displays. This does not change how the clock runs. |

### Stopwatch settings

| Setting | Default | Values | Notes |
| --- | --- | --- | --- |
| Label | Empty | Text | Shown above the clock. Leave empty for none. |
| Status line | Empty | Text | Small line under the clock. Off by default; set it to show live stats or the phase (running/paused). Tokens: {current} {remaining} {percent} {label} {next} {last}. |
| Timing label | None | None, RTA, IGT, Custom (Label text) | RTA and IGT replace the Label. None and Custom show the Label as typed. Display only, time is counted the same way. |
| Label icon | No icon | No icon, Heart (follows), Star (subs), Diamond (bits), Coin (tips), Medal (points), Flag (custom) |  |
| Accent color | Look default | Any color | Empty keeps the look's own accent. |
| Show | Label, clock and status | Label, clock and status, Clock only, Chip (one line) |  |
| Compact strip | Off | On or off | One 52px line: icon, label and clock side by side. |
| Stacked units | Off | On or off | Each unit in its own labelled block (05 over MIN). |
| Blink colon | Off | On or off | Blinks at 1 Hz while running |
| Scale (%) | 24 | 16 to 64 | 32 is the look's native size; the whole clock scales as one unit. |
| Max width (px) | 280 | 240 to 900 |  |
| Precision | Seconds (00:00) | Seconds (00:00), Tenths (00:00.0), Hundredths (00:00.00) |  |
| Hours | Auto (only past an hour) | Auto (only past an hour), Always show hours, Never show hours |  |
| Show round history | Off | On or off | Slides a split row into the look's HUD every time a split closes. |
| Round names | 3 items | Up to 16 items | One name per round, in order. Recording works even when the on-screen round list is hidden. |
| Visible splits | 3 | 1 to 3 | How many split rows the look keeps on screen (the HUD holds 3). |
| Start automatically | Off | On or off |  |
| Time shown | Current run | Current run, Current round, Last completed round, Last finished run | Choose which time the clock displays. This does not change how the clock runs. |

### Live source settings

| Setting | Default | Values | Notes |
| --- | --- | --- | --- |
| Source | Game or screen | Game or screen, Camera |  |
| Fit | Cover (fill, crop overflow) | Cover (fill, crop overflow), Contain (fit inside, no crop) |  |
| Placeholder text | Game feed | Text |  |
