RemotionUI

Gauge Dial

Needle sweeps to target. Install with npx remotion-ui@latest add gauge-dial.

PrimitiveData & media

gauge-dial30fps · 960×540
Install
$ npx remotion-ui@latest add gauge-dial

An instrument dial: arc fill, tick marks, and a needle that sweeps to its target.

import { GaugeDial } from "@/remotion/primitives/gauge-dial";

<GaugeDial value={78} label="Render budget" unit="%" durationInFrames={70} />

Two curves on purpose

The needle rides the overshoot curve and the arc does not. A needle that swings past and settles back is what a real instrument does; a coloured arc that retreats reads as the value itself changing its mind. The readout counts from the arc's progress, so the number never disagrees with the fill.

Shape

sweepInDegrees is the total travel, centred on twelve o'clock — 250° is the default car-dashboard look, 180° gives a half-moon meter. thickness covers both the track and the fill; ticks are inset from it so the needle can cross them without colliding.

Ticks the needle has passed sit brighter than the ones ahead, which keeps the reading legible where the needle covers the arc.

Exit

exitAtInFrames unwinds the dial back to rest as it fades — an instrument powering down rather than a panel dissolving in place.

The needle rides the overshoot curve and the arc does not — a needle that settles back is instrument-like, while a coloured arc that retreats reads as the value changing its mind. The readout counts from the arc's progress, so number and fill never disagree.

Agent notes

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

Import
@/remotion/primitives/gauge-dial
  • Use when: frame-level motion primitives and reusable animation wrappers.
  • Customize: value, min, max, size, 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 { GaugeDial } from "@/remotion/primitives/gauge-dial"; <GaugeDial value={78} label="Render budget" unit="%" durationInFrames={70} />

API Reference

PropTypeDescription
valuenumberTarget the needle sweeps to.
minnumberValue at the start of the arc.
maxnumberValue at the end of the arc.
sizenumberOuter diameter in px. Type scales off it.
thicknessnumberTrack and fill thickness.
sweepInDegreesnumberTotal travel, centred on twelve o'clock. 180 gives a half-moon meter.
labelstringCaption under the readout.
unitstringSuffix on the readout, e.g. `"%"`.
tickCountnumberTick marks around the arc. 0 hides them.
valueFormatter(value: number) => stringFormats the readout.
durationInFramesnumberLength of the sweep.
delayInFramesnumberFrames to wait before the sweep starts.
exitAtInFramesnumberFrame the dial unwinds on.
framenumberFrame override — pass the parent frame inside a `<Sequence>`.

Related

On this page