$5

Dot Pulse

Animated field of dots

Details

Category

Last update

Suggest improvement or report a bug

Documentation

What it does

A grid of dots with a wave of light travelling through it — dots brightening and swelling as the pulse passes, then settling back.

So it's a dot grid that breathes, and the pattern of that breathing is the first thing you choose.

Controls

15 controls, 3 of which only appear when they are relevant.

Control

Type

Default

Notes

Pattern

Enum

Ripple / Wave / Spiral / Breathe — default ripple

—

Background

Color

#05060A

—

Dots

Color

rgba(255, 255, 255, 0.22)

—

Pulse

Color

#8DF0FF

—

Spacing

Number

26

8–80px

Dot Size

Number

5

1–20px

Speed

Number

.35

.05–2

Ring Gap

Number

180

40–600px · Distance between pulse fronts

Pulse Width

Number

.14

.04–.4

Swell

Number

1.6

0–4 · How much dots grow inside a pulse

Push

Number

10

0–40px · How far dots get displaced by a pulse

Angle

Number

0

0–360° · conditional

Twist

Number

3

-8–8 · conditional

Jitter

Number

.08

0–.5 · Per-dot timing randomness

Follow Cursor

Boolean

true

conditional

Working through the panel

Pattern

Four patterns. Ripple sends rings out from a point. Wave sweeps across in a straight line. Spiral turns. And Breathe pulses the whole field at once.

Each one brings its own control. Wave reveals an Angle, for the direction it sweeps. Spiral reveals a Twist, for how tightly it curls.

And Ripple and Spiral both reveal Follow Cursor, because both radiate from a point — so that point can be the visitor's pointer instead of the centre of the frame.

Follow Cursor is the one to try first. It turns a background into something the visitor is causing.

The grid

Spacing is the distance between dots and Dot Size is how big they are. Those two together set the density — and a fine grid of small dots reads as texture where a coarse grid of large ones reads as pattern.

Three colours: the background, the dots at rest, and the pulse colour they take on as the wave passes. The gap between the resting colour and the pulse colour is the whole effect, so make them clearly different.

The pulse

Speed is how fast the wave travels. Ring Gap is the distance between successive waves — large gaps mean one pulse at a time, small gaps mean a continuously rippling field.

Pulse Width is how wide each wave is. Swell is how much the dots grow as it passes, and Push is how far they're displaced from their grid position — that displacement is what makes the surface feel elastic rather than just lit.

And Jitter adds a small random offset to every dot, which stops the grid looking mechanical.

One last thing worth knowing. There's no control for it, and there doesn't need to be: the component automatically calms itself for visitors whose system asks for reduced motion.

Performance and limits

  • It stops rendering when it scrolls out of view, so an instance below the fold costs nothing until the visitor reaches it.

  • Visitors whose system asks for reduced motion get a calmer version automatically.

  • Static rendering is handled, so canvas thumbnails and exports show a settled frame rather than a blank box.

  • It renders with WebGL at whatever size and pixel density the frame needs — there is no image to download and no resolution to outgrow.

Good to know

No setup or coding required. Responsive across desktop, tablet, and mobile.

Refund policy — due to the nature of digital products, all sales are final. Once purchased, this component is non-refundable. Please make sure it fits your needs before completing the checkout.

Support: hi@alicorak.com

Asset updates

Get new Framer assets delivered to your inbox

New releases, free assets, and occasional offers. No spam.

Asset updates

Get new Framer assets delivered to your inbox

New releases, free assets, and occasional offers. No spam.