# Overlay text card

> Canonical HTML: https://screenrig.ai/docs/cards/overlay-text

Your own words straight over video, photos or a page, with no box behind them and as much showmanship as you want.

Freeform words with nothing around them: no panel, no backdrop, no labels. They take the largest size that fits the space and keep your line breaks. Pick a finished look (neon, chrome, gold, retro, comic, cinema, party, glitch, stamp, frost, fire or typewriter) or mix your own: gradient and metal fills, a shadow, glow, outline, hollow letters, a 3D side, a comic pop or a glitch split; motion such as a pulse, a float, a shine sweeping across the letters, a neon flicker or a wave running through them; letters typed in or dropping into place; confetti, snow, sparkles or fireworks behind the words; and words bent over an arc, ringed round a circle or riding a wave. Fill the screen, sit in the middle, tuck into a corner, or run as a band along an edge, and raise and lower the words on cue.

## Live card

This card is drawn in your browser by the same code the Players run, with sample data.

Category: Messages. Tags: Lobbies and reception, Events and venues.

## Data and privacy

This card uses its configured properties and live card data.

## Properties

For theme, background, accent, colour overrides and position, see [Common properties](/docs/cards#common-properties).

### Static properties

| Name | Type | Default | Values and limits | Description |
| --- | --- | --- | --- | --- |
| `look` | null, string | `null` | `null`, `"neon"`, `"chrome"`, `"gold"`, `"retro"`, `"comic"`, `"cinema"`, `"party"`, `"glitch"`, `"stamp"`, `"frost"`, `"fire"`, `"typewriter"` | A finished treatment: it picks the fill, effect, motion, entrance, particles and shape that you leave null (and the case and spacing). Null: plain words. |
| `font` | string | `"display"` | `"display"`, `"headline"`, `"body"` | The theme's display, headline or body face. |
| `size` | number, null | `null` | minimum: `24`; maximum: `600` | The largest type size in 1080p design pixels; the words shrink from it until they fit. Null fills the box. |
| `align` | string | `"center"` | `"start"`, `"center"`, `"end"` | Where the lines sit across the box. |
| `valign` | string | `"middle"` | `"top"`, `"middle"`, `"bottom"` | Where the words sit down the box. |
| `case` | string | `"theme"` | `"theme"`, `"mixed"`, `"upper"`, `"lower"` | theme keeps the face's own case. |
| `shape` | null, string | `null` | `null`, `"straight"`, `"arc"`, `"dip"`, `"circle"`, `"wave"` | The line the words follow: arc bends them over a curve, dip under one, circle rings them round, wave runs them along a wave. Curves set the words on one line. Null: the look's, else straight. |
| `fill` | null, string | `null` | `null`, `"solid"`, `"gradient"`, `"rainbow"`, `"sunset"`, `"chrome"`, `"gold"`, `"fire"`, `"ice"` | What the letters are filled with: the text colour, a gradient of the theme's accents, the theme's colour series, or a material. Null: the look's, else solid. |
| `effectColor` | string, null | `null` | pattern: `"^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"` | The effect's colour. Null: the look's, else dark behind light words (light behind dark) and the accent for a glow. |
| `effectSize` | string | `"medium"` | `"small"`, `"medium"`, `"large"` |  |
| `entrance` | null, string | `null` | `null`, `"theme"`, `"none"`, `"fade"`, `"rise"`, `"pop"`, `"slam"`, `"typewriter"`, `"cascade"`, `"focus"`, `"flip"`, `"zoom"`, `"glitch"` | How the words arrive: the theme's own, none, fade, rise, pop, slam, typed letter by letter, letters dropping in (cascade), pulled into focus, flipped up, zoomed in or glitched in. Changed words fade over. Null: the look's, else the theme's. |
| `particles` | null, string | `null` | `null`, `"none"`, `"confetti"`, `"sparkles"`, `"stars"`, `"hearts"`, `"snow"`, `"bubbles"`, `"petals"`, `"leaves"`, `"notes"`, `"lanterns"`, `"fireworks"`, `"motes"`, `"rain"` | A scene behind the words, drawn in the theme's own character. Not in a chip or a corner. Null: the look's, else none. |

### Dynamic properties

| Name | Type | Default | Values and limits | Description |
| --- | --- | --- | --- | --- |
| `text` | string | `""` | maxLength: `600` | The words. Line breaks are kept; a chip and a strip set them on one line. |
| `effect` | null, string | `null` | `null`, `"none"`, `"shadow"`, `"glow"`, `"outline"`, `"hollow"`, `"extrude"`, `"pop"`, `"split"` | shadow, glow and outline as named; hollow draws only the letters' outline; extrude stacks a 3D side behind them; pop is a comic outline with a hard drop; split offsets cyan and magenta copies. Null: the look's, else none. |
| `motion` | null, string | `null` | `null`, `"none"`, `"pulse"`, `"float"`, `"sway"`, `"wiggle"`, `"drift"`, `"shine"`, `"flow"`, `"flicker"`, `"wave"`, `"bounce"`, `"spin"`, `"glitch"` | How the words move at rest: pulse, float, sway, wiggle, a slow drift, a light sweeping across them (shine), the fill flowing through them (flow), a neon flicker, a wave or a bounce through the letters, spin (a circle turns, other words swivel) or a glitch now and then. Null: the look's, else none. |
| `active` | boolean | `true` |  | False lowers the card: it leaves and draws nothing until it is raised again. |
| `since` | string, null | `null` |  | ISO 8601 instant `active` last changed. Raised, the card waits for it when it is still ahead; lowered, the card stays up for a few seconds after it. |

## Example params

```json
{
  "theme": "neomustard"
}
```

```console
screenrig card create --type overlay-text --major 1 --file params.json
```

## Example data

```json
{
  "text": "",
  "effect": null,
  "motion": null,
  "active": true,
  "since": null
}
```

## Layouts

This core card fits every layout: full screen, center, wide, corner, chip, strip, or any free rectangle.

Layouts: full, free, center, wide, corner, chip, strip. Forms: landscape, portrait, square, strip.

## Use this card

Add this card to a playlist as in [Publish a card canvas](/docs/cards#publish-a-card-canvas), place it with the [layouts and anchors](/docs/cards#layouts-and-anchors) and update its data as in [Write live values](/docs/cards#write-live-values).

## Related cards

- [QR code](https://screenrig.ai/docs/cards/qr-code)
- [Live Captions](https://screenrig.ai/docs/cards/live-captions)
- [Service notice](https://screenrig.ai/docs/cards/service-notice)
- [List](https://screenrig.ai/docs/cards/list)
- [Smash](https://screenrig.ai/docs/cards/smash)
- [Header](https://screenrig.ai/docs/cards/header)
