# Hidden Word
URL: https://remocn.dev/docs/typography/hidden-word

A word is found hidden letter by letter inside a sentence and lifted out as a large italic title

- Install: `npx shadcn@latest add @remocn/hidden-word`
- Vibe: premium
- Natural length: 152f @ 30fps

## Installation

```bash
npx shadcn@latest add @remocn/hidden-word
```

## Usage

```tsx
// src/Root.tsx
import { Composition } from "remotion";
import { HiddenWord } from "@/components/remocn/hidden-word";

const HiddenWordScene = () => (
  <HiddenWord
    text="Every founder deserves a launch video that feels expensive."
    word="love"
  />
);

export const RemotionRoot = () => (
  <Composition
    id="HiddenWord"
    component={HiddenWordScene}
    durationInFrames={186}
    fps={30}
    width={1280}
    height={720}
  />
);
```

The sentence fades in line by line, the letters of `word` light up in order inside it, the rest dims, and each lit letter lifts out and flies into place to form a large serif italic word. Pass `text` (it must contain the letters of `word` in order, case-insensitive) and `word`; it ships light and dark through `theme`.

## Props

| Prop | Type | Default | Description |
|---|---|---|---|
| `text` | `string` | `"Small teams make their launch film in code and post it by Friday."` | The sentence, set as editorial body type. |
| `word` | `string` | `"ship"` | The word hiding in `text`; its letters are found in order. |
| `accent` | `string` | `"#3B5BFD"` | Color of the lit letters and the empty-slot rule. |
| `theme` | `"dark" \| "light"` | `"dark"` | Ships light and dark. |
| `speed` | `number` | `1` | Playback speed multiplier. |

## Use when
- A reveal beat where a key word is concealed in a sentence and then pulled out as the headline.
- An editorial, premium tone for a manifesto or announcement, set as body copy first.
- A product message where a hidden word, such as the product's verb, becomes the takeaway.

## Don't use when
- You want a word highlighted in place without moving letters — use `inline-highlight`.
- The text should simply appear and stay as a paragraph — use `word-stream`.
- You need a fast single-line headline entrance — use `focus-blur-resolve`.