spawn-confetti
v2.0.3
Published
๐ Lightweight JavaScript confetti effect that spawns at the mouse position on demand.
Maintainers
Readme
๐ Confetti Effect
A lightweight and highly configurable JavaScript library that spawns confetti on demandโperfect for adding celebration effects to buttons, clicks, or custom triggers on your website.

๐ Installation:
Option 1: via npm
npm install spawn-confettiOption 2: Vanilla JS
- Download
confetti.jsand add it to your project folder - Include it in your HTML as a module:
<script src="path/to/confetti.js" type="module"></script>๐ฎ Usage and Configuration
Function Arguments:
The spawnConfetti() function has the following arguments:
amount(number)โ Number of confetti particles to spawn. Default: 30x, y(number | string)โ Spawn coordinates. Default: mouse coordinates Accepted string values:mouseโ spawn at mouse coordinatecenterโ spawn at center coordinate of pagemaxโ spawn at max coordinate of page
velXRange, velYRange(array)โ Initial velocity range. Default: [-5, 5], [-8, 0]angVelXRange, angVelZRange(array)โ Constant rotational velocity range. Default: [0, 0], [6, 12]lifetime(number)โ Lifetime of particles in milliseconds. Default: 2000
Example:
// Spawn 30 confetti particles at the current mouse position
spawnConfetti();
// Custom configuration
spawnConfetti({
amount: 75,
x: 'center',
y: 'max',
velXRange: [-20, 20],
velYRange: [-10, -3],
angVelXRange: [1, 0],
angVelZRange: [5, 15],
lifetime: 500
});Global Configuration:
There are a few global configurations that you can modify:
acceleration(vector)โ Controls gravity direction. Default: (0, 0.25) โ To edit values, assign like:acceleration.x = ...,acceleration.y = ...maxVel(vector)โ Sets maximum velocity. Default: (1.5, 10) โ To edit values, assign like:maxVel.x = ...,maxVel.y = ...drag(vector)โ Affects air resistance. Lower values = more drag. Default: (0.98, 1), must be โค 1 โ To edit values, assign like:drag.x = ...,drag.y = ...colors(array)โ List of colors to randomly assign to particles. Default: #f44a4a, #fb8f23, #fee440, #7aff60, #00f5d4, #00bbf9, #9b5de5, #f15bb5shapes(array of svg strings)โ Shapes for particles to randomly select from. Default:<rect x="5" y="0" width="6" height="16"/>, <path width="16" height="16" d="M0,12 Q4,4 8,12 Q12,20 16,12" stroke-width="5" fill="none"/>, <circle cx="9" cy="9" r="5.5"/>, <polygon points="9,2.072 17,15.928 1,15.928"/>โ Note: When adding new custom SVG shapes, ensure that any
<path>elements includefill="none"to render correctly.
License: MIT Contributing: Contributions welcome! Please feel free to submit a Pull Request.
