@tsparticles/preset-confetti-cannon

tsParticles confetti cannon preset
5,252 8,995
Install
npm install @tsparticles/preset-confetti-cannon
Latest Version:4.4.0
License:MIT
Last Updated:Oct 23, 2026
Links: GitHub  ·  npm
Maintainer: matteobruni

banner

tsParticles Confetti Cannon Preset

jsDelivr npmjs npmjs GitHub Sponsors

tsParticles preset for confetti launched from a draggable cannon, using the confetti palette.

Discord Telegram

tsParticles Product Hunt

Sample

demo

Quick checklist

  1. Install @tsparticles/engine (or use the CDN bundle below)
  2. Call loadConfettiCannonPreset(engine) before tsParticles.load(...)
  3. Set preset: "confettiCannon" in options

How to use it

CDN / Vanilla JS / jQuery

<script src="https://cdn.jsdelivr.net/npm/@tsparticles/preset-confetti-cannon@4/tsparticles.preset.confettiCannon.bundle.min.js"></script>

Usage

Once the scripts are loaded you can set up tsParticles like this:

(async engine => {
  await loadConfettiCannonPreset(engine);

  await engine.load({
    options: {
      preset: "confettiCannon", // or "confetti-cannon"
    },
  });
})(tsParticles);

Customization

tsParticles.load({
  id: "tsparticles",
  options: {
    particles: {
      color: {
        value: ["#0000ff", "#00ff00"],
      },
    },
    preset: "confettiCannon", // or "confetti-cannon"
  },
});

Like in the sample above, the white and red colors will be replaced by blue and lime.

Frameworks with a tsParticles component library

Checkout the documentation in the component library repository and call the loadConfettiCannonPreset function instead of loadFull, loadSlim or similar functions.

The options shown above are valid for all the component libraries.

Dependencies

This preset loads and combines the following packages:

Package Role in this preset README
@tsparticles/basic Base runtime bundle used by the preset https://www.npmjs.com/package/@tsparticles/basic
@tsparticles/engine tsParticles engine and preset registration https://www.npmjs.com/package/@tsparticles/engine
@tsparticles/interaction-external-cannon Adds cannon launch interaction https://www.npmjs.com/package/@tsparticles/interaction-external-cannon
@tsparticles/palette-confetti Default confetti color palette https://www.npmjs.com/package/@tsparticles/palette-confetti
@tsparticles/plugin-interactivity Enables external interaction plumbing https://www.npmjs.com/package/@tsparticles/plugin-interactivity
@tsparticles/plugin-motion Handles reduced-motion accessibility settings https://www.npmjs.com/package/@tsparticles/plugin-motion
@tsparticles/shape-square Adds square particle shape https://www.npmjs.com/package/@tsparticles/shape-square
@tsparticles/updater-life Controls particle life-cycle stages https://www.npmjs.com/package/@tsparticles/updater-life
@tsparticles/updater-roll Adds rolling spin motion https://www.npmjs.com/package/@tsparticles/updater-roll
@tsparticles/updater-rotate Adds rotation animation https://www.npmjs.com/package/@tsparticles/updater-rotate
@tsparticles/updater-tilt Adds tilt animation https://www.npmjs.com/package/@tsparticles/updater-tilt
@tsparticles/updater-wobble Adds side-to-side wobble motion https://www.npmjs.com/package/@tsparticles/updater-wobble

If you want to customize one specific behavior, start from the related package README above.

Common pitfalls

  • Calling tsParticles.load(...) before loadConfettiCannonPreset(engine)
  • Overriding emitters with an empty array and expecting default cannon behavior
  • Combining multiple emitter changes at once without testing incrementally

Related docs


flowchart TD
  subgraph b [Bundles]
    bb[tsParticles Basic]
  end

  subgraph pl [Plugins]
    ple[Emitters]
    pli[Interactivity]
    plm[Motion]
  end

  bb --> pl

  subgraph s [Shapes]
    ssq[Square]
  end

  bb --> s

  subgraph u [Updaters]
    ul[Life]
    urol[Roll]
    urot[Rotate]
    uti[Tilt]
    uw[Wobble]
  end

  bb --> u

  subgraph pr [Presets]
    prcc[Confetti Cannon]
  end

  bb & ple & pli & plm & ssq & ul & urol & urot & uti & uw --> prcc

Related Packages

Version History

Version Released License
4.4.0 MIT
4.3.2 MIT
4.3.1 MIT
4.3.0 MIT
4.2.1 MIT
Pre-releases (6)
Version Released License
4.0.0-beta.17 MIT
4.0.0-beta.16 MIT
4.0.0-beta.15 MIT
4.0.0-beta.12 MIT
4.0.0-beta.0 MIT