RemotionUI

Typewriter

Character-by-character text reveal with natural rhythm, punctuation pauses, inline pause markers, looping, and a configurable cursor.

PrimitivePrimitives

typewriter30fps · 960×540
Install
$ npx remotion-ui@latest add typewriter

Character-by-character text reveal with natural rhythm, punctuation pauses, inline pause markers, looping, and a configurable cursor.

Use [pause:0.5] inside text to add dramatic pauses at any point. Enable humanize for subtle speed variation and respectPunctuation for automatic pauses after sentence punctuation.

Inline pause markers like [pause:0.5] are stripped from the rendered text.

Agent notes

Install first, then import the copied source component locally. AI guide →

Import
@/remotion/primitives/typewriter
  • Use when: frame-level motion primitives and reusable animation wrappers.
  • Customize: text, charFrames, durationInFrames, delayInFrames, plus copied source for timing, layout, colors, and typography.
  • Rule: do not import this component from the remotion-ui npm package; it is copied into your project.

Usage

Example
import { Typewriter } from "@/remotion/primitives/typewriter"; <Typewriter text="Build videos with React.[pause:0.5] One frame at a time." charFrames={2} humanize respectPunctuation cursorStyle="block" />

API Reference

PropTypeDescription
text*stringFull string to reveal character by character. Use [pause:0.5] for inline pauses.
charFramesnumberFrames per character (preferred over durationInFrames).
durationInFramesnumberTotal duration when charFrames is omitted.
delayInFramesnumberFrames before typing begins.
pauseAfterstringPause after this substring is typed.
pauseSecondsnumberLength of the pauseAfter pause in seconds.
showCursorbooleanShow a blinking cursor while typing.
cursorBlinkFramesnumberCursor blink cycle length in frames.
cursorColorstringCursor color. Defaults to the text color.
cursorWidthnumberCursor width in pixels (bar/underscore only).
cursorStyle"bar" | "block" | "underscore"Cursor shape.
humanizebooleanAdd subtle per-character timing variation.
respectPunctuationbooleanPause automatically after . ! ? ; : ,
punctuationPauseSecondsnumberLength of automatic punctuation pauses.
loopbooleanType, pause, backspace, and repeat.
loopPauseSecondsnumberPause at full text before backspacing.
backspaceCharFramesnumberFrames per character when backspacing.

Related