Particle sphere
The classic 3D particle sphere, folding into a cube and then a knot. Particles move away from the cursor.
preset="sphere" · Forms: Sphere → Cube → Knot · Trigger: Loop · Cursor: Repel
Particle animation for any website · v1.2
Particles that morph into 3D shapes, text and logos, on any website. Paste one script tag, or use the React or Framer version. They react to the cursor and touch, and morph on loop, scroll, hover or click.
One-time payment · Instant download · Single-project license · Free v1.x updates
Every loop below is the real component. Each one is a preset name: preset="galaxy", or the same settings in Framer's properties panel.
The classic 3D particle sphere, folding into a cube and then a knot. Particles move away from the cursor.
preset="sphere" · Forms: Sphere → Cube → Knot · Trigger: Loop · Cursor: Repel
Your words, spelled out in particles, morphing into a sphere and then a torus.
preset="text" · Forms: Text → Sphere → Torus · Trigger: Loop
Drop in a PNG or SVG. It builds itself out of particles in its own colors, then morphs into a sphere and a cube.
preset="logo" · Forms: Logo / Image → Sphere → Cube · Image Colors: on
A product silhouette that forms out of particles, sweeps into a helix, then gathers into a sphere.
preset="bottle" · Forms: Logo / Image → Helix → Sphere · Stagger: Sweep
Knot, cube and helix in spark particles. Each click moves to the next form.
preset="knot" · Forms: Knot → Cube → Helix · Trigger: Click · Easing: Expo
A three-arm galaxy that folds into a torus, then a sphere. Made for backgrounds and dark heroes.
preset="galaxy" · Forms: Galaxy → Torus → Sphere · Tilt: 52 · Gradient: Center → Out
A torus that opens into rings, then closes into a sphere. On a live site it morphs on hover, or on tap on phones.
preset="torus" · Forms: Torus → Rings → Sphere · Trigger: Hover · Easing: Overshoot
“Make it move.” in dark particles on a light background, rippling into a wave and then a sphere.
preset="headline" · Forms: Text → Wave → Sphere · Blend: Normal
“Launch” in a three-color gradient that bursts into a sphere, then opens into rings.
preset="launch" · Forms: Text → Sphere → Rings · Gradient: Left → Right, 3 stops
Sphere, the word “Scroll”, a logo, then a galaxy: the particles scrub between forms as you scroll.
preset="scroll" · Trigger: Scroll · Track: Sticky Section
The hover and click presets are shown as loops. The settings line tells you how they behave on a live site.
This section is Particle Forms with the scroll trigger. No code.
Single-project license (LICENSE.md in the download): one website or project per license.
Upload particle-forms.min.js from the download to your site.
Add the script once, and a <particle-forms> tag wherever you want particles.
Pick a preset, or set any option as an attribute: forms, trigger, count, colors.
<script src="/particle-forms.min.js" defer></script>
<particle-forms preset="galaxy" style="height: 600px"></particle-forms>Webflow can't host .js files: put particle-forms.min.js on any static host and add its script tag in Site settings → Custom code → Footer code. Or paste the two ready-made halves from the download into Head code and Footer code.
Add a Code Embed element with a <particle-forms> tag where you want the particles.
Give it a height, and publish. Custom code runs on the published site.
<particle-forms forms="sphere, text:Hello, knot" trigger="loop" style="height: 600px"></particle-forms>Custom code needs a paid Webflow site plan.
Upload particle-forms.min.js to your Media library or your theme, and copy its URL.
Add a Custom HTML block with the script tag and a <particle-forms> tag.
<script src="https://your-site.com/wp-content/uploads/particle-forms.min.js" defer></script>
<particle-forms preset="text" forms="text:Your words, sphere" style="height: 500px"></particle-forms>On WordPress.com, you need a plan that allows custom code.
Online Store → Themes → Edit code → Assets: upload particle-forms.min.js.
In the theme editor, add a Custom Liquid section with the script and the tag.
<script src="{{ 'particle-forms.min.js' | asset_url }}" defer></script>
<particle-forms preset="bottle" style="height: 600px"></particle-forms>Copy react/ParticleForms.tsx into your project. It needs only React 18+.
Render it inside a parent with a height, with a preset or your own props.
import ParticleForms from "./ParticleForms"
<div style={{ height: 600 }}>
<ParticleForms preset="galaxy" />
</div>Next.js: it's a client component, so nothing runs during server rendering.
In your Framer project, go to Assets → Code → + → New component file, and name it ParticleForms.
Replace the file's contents with framer/ParticleForms.tsx from the download, and save.
Drag ParticleForms onto the canvas, pick your forms and trigger in the properties panel, and press Preview.
In Framer, the canvas shows a sharp still frame to keep the editor fast. Press Preview to see it move, or set Performance → On Canvas to Live.
Works with any Framer plan that supports code components.
Squarespace, Wix and Carrd: add the script and the tag in a Code or Embed block (your plan must allow custom code). The download's README has a quick start for every platform and the full settings reference.
$12 one-time
Secure checkout by Polar. Instant download after payment.
Anywhere you can add a script tag: Webflow, WordPress, Shopify, Squarespace, Wix, plain HTML. Also React/Next.js and Framer. Site builders need a plan that allows custom code.
No. You paste one snippet. Pick a preset or change settings as HTML attributes, or in Framer's panel.
Yes. It supports touch: swiping scrolls the page, and taps burst and toggle hover. Auto quality lowers resolution and then particle count on slower devices to keep it smooth. You can also set a lower count on your phone breakpoint.
The script is ~20 KB gzipped, renders on the GPU, and pauses offscreen.
Yes. Use a PNG, SVG, WebP or JPG from your own site. Images on another domain need CORS headers. Transparent PNG or SVG works best.
The canvas is decorative and hidden from screen readers, so add your headline as real text as well. Visitors with Reduce Motion turned on see a still frame.
No. It has no dependencies. The script version doesn't need React either.
Single project. The details are in LICENSE.md in the download.
Each license covers one website or project. Buy one per site.
Yes, free updates for v1.x.
Email hi@gunnargray.com.
New presets, v1.x releases and the occasional new tool. No more than that.