Menu

Shapes Dots

Customize

Cell Size40
Influence Radius25
Opacity1
Attack Time0.05
Release Time0.2
Idle Scale0.1
Min Peak Scale1
Max Peak Scale3
Overlap Guard0.86
Burst Speed1200
Burst Thickness180
DPR3
Animation Speed1

Props

widthstring | number

Width of the canvas wrapper. Accepts any CSS value or number.

Default"100%"
heightstring | number

Height of the canvas wrapper. Accepts any CSS value or number.

Default"100%"
classNamestring

Additional Tailwind or CSS classes applied to the wrapper div.

Default""
cellSizenumber

Pixel size of each grid cell. Smaller values produce more dots; larger values produce fewer.

Default40
influenceRadiusVminnumber

Radius around the cursor within which shapes react, expressed in vmin (percentage of the viewport's smaller dimension).

Default25
attackTimenumber

Time in seconds for a shape to grow. Lower values snap instantly; higher values grow gradually.

Default0.05
releaseTimenumber

Time in seconds for a shape to shrink back to idle after the cursor leaves.

Default0.6
idleScalenumber

Resting scale of shapes when not influenced. 0 is invisible; 1 is full base size.

Default0.09
minPeakScalenumber

Minimum scale a shape can reach at peak (lower bound of the per-cell random range). Must be less than or equal to maxPeakScale.

Default1
maxPeakScalenumber

Maximum scale a shape can reach at peak (upper bound of the per-cell random range). Must be greater than or equal to minPeakScale.

Default3
overlapGuardnumber

Safety margin that prevents adjacent shapes from touching at max scale. 1 allows shapes to just touch; lower values add more gap.

Default0.86
burstSpeednumber

Speed at which the click burst ring expands, in pixels per second.

Default1200
burstThicknessnumber

Thickness of the click burst ring in pixels. Higher values produce a wider ring.

Default180
backgroundColorstring

Background color of the canvas. Set to "transparent" to skip drawing a background.

Default"#080808"
shapesstring[]

Pool of shape types randomly assigned to cells. Available values: "circle", "square", "triangle".

Default["circle","triangle","square"]
colors(string | { stops: string[] })[]

Pool of colors randomly assigned to shapes. Accepts plain hex strings or gradient objects ({ stops: ["#color1", "#color2"] }).

DefaultDEFAULT_COLORS
opacitynumber

Global opacity of the entire canvas. 0 is fully transparent; 1 is fully opaque.

Default1
dprnumber

Maximum device pixel ratio cap. Higher values are sharper but more GPU-intensive.

Default3
animationModestring

Continuous ambient animation pattern that runs independently of the cursor. Options: "off" | "random" | "pulse" | "ripple" | "left-to-right" | "right-to-left" | "top-to-bottom" | "bottom-to-top" | "wave-horizontal" | "wave-vertical" | "diagonal-tl-br" | "diagonal-br-tl" | "line-right" | "line-left".

Default"off"
animationSpeednumber

Speed multiplier for the ambient animation. 2 = double speed; 0.5 = half speed.

Default1
childrenReactNode

Content rendered absolutely on top of the canvas, useful for text overlays or UI elements.

Defaultundefined

Crafted withbyMohammad Tasin