RemotionUI

Badge Stamp

A seal that lands like a stamp — oversized and over-rotated, settling with the rotation still unwinding after the scale has stopped.

PrimitivePaths & shapes

badge-stamp30fps · 960×540
Install
$ npx remotion-ui@latest add badge-stamp

The seal comes in at more than twice its size and further round than it will finish, hits its mark, and settles. Scale and rotation run on separate springs so the rotation is still unwinding fractionally after the scale has stopped — that offset is what sells the weight. Collapse them onto one spring and the stamp reads as a sticker being placed.

The shockwave is thrown from the impact frame rather than from the start, so it can never arrive before the thing that caused it. Ink strength eases back a little after the hit, the way pressure comes off a real stamp.

Ring text runs on two separate half-arcs, both left to right. Letters stand up from the direction of travel, so a single full-circle path would print everything on the bottom half upside down — ringText takes the top, ringTextBottom the bottom, and each should be short enough not to run past the side of the ring.

Scale and rotation run on separate springs, so the rotation is still unwinding after the scale has stopped — that offset is what sells the weight, and collapsing them onto one spring makes the seal read as a sticker being placed. The shockwave is thrown from the impact frame rather than from the start, so it cannot arrive before its cause. Ring text uses two half-arcs because letters stand up from the direction of travel.

Agent notes

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

Import
@/remotion/primitives/badge-stamp
  • Use when: frame-level motion primitives and reusable animation wrappers.
  • Customize: label, ringText, ringTextBottom, sublabel, 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 { BadgeStamp } from "@/remotion/primitives/badge-stamp"; <BadgeStamp label="APPROVED" ringText="REMOTIONUI" ringTextBottom="VERIFIED BUILD" sublabel="2026" delayInFrames={14} exitAtInFrames={92} />

API Reference

PropTypeDescription
labelstringThe word in the middle of the seal.
ringTextstringText curved around the top. Keep it short enough not to run past the sides.
ringTextBottomstringText curved around the bottom, on its own left-to-right arc so it reads upright.
sublabelstringLine under the label.
sizenumberRendered size in pixels.
colorstringInk colour for every part of the seal.
rotationnumberDegrees the stamp settles at.
windUpnumberHow much further round it starts, in degrees.
delayInFramesnumberFrame the stamp lands on.
exitAtInFramesnumberFrame the stamp starts leaving. Omit to leave it on screen.
exitInFramesnumberFrames the exit takes.
impactRingbooleanShockwave thrown off on impact.

Related