tsParticles Fountain Preset

April 9, 2026 · View on GitHub

banner

tsParticles Fountain Preset

jsDelivr npmjs npmjs GitHub Sponsors

tsParticles preset creating random positioned falling colored particles that break when hitting the ground.

Discord Telegram

tsParticles Product Hunt

Sample

demo

Quick checklist

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

How to use it

CDN / Vanilla JS / jQuery

<script src="https://cdn.jsdelivr.net/npm/@tsparticles/preset-fountain@3/tsparticles.preset.fountain.bundle.min.js"></script>

Usage

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

(async () => {
  await loadFountainPreset(tsParticles);

  await tsParticles.load({
    id: "tsparticles",
    options: {
      preset: "fountain",
    },
  });
})();

Customization

Important ⚠️ You can override all the options defining the properties like in any standard tsParticles installation.

tsParticles.load({
  id: "tsparticles",
  options: {
    particles: {
      shape: {
        type: "square", // starting from v2, this require the square shape script
      },
    },
    preset: "fountain",
  },
});

Like in the sample above, the circles will be replaced by squares.

Frameworks with a tsParticles component library

Checkout the documentation in the component library repository and call the loadFountainPreset 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:

PackageRole in this presetREADME
@tsparticles/basicBase runtime bundle used by the presethttps://www.npmjs.com/package/@tsparticles/basic
@tsparticles/enginetsParticles engine and preset registrationhttps://www.npmjs.com/package/@tsparticles/engine
@tsparticles/plugin-emittersSpawns particles from configurable emittershttps://www.npmjs.com/package/@tsparticles/plugin-emitters
@tsparticles/plugin-trailAdds persistent canvas trail renderinghttps://www.npmjs.com/package/@tsparticles/plugin-trail
@tsparticles/updater-destroyRemoves particles when their stage endshttps://www.npmjs.com/package/@tsparticles/updater-destroy

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

Common pitfalls

  • Calling tsParticles.load(...) before loadFountainPreset(tsParticles)
  • Changing particle shape without loading the corresponding shape package
  • The fountain effect uses emitters; overriding emitters will replace the default fountain behavior

flowchart TD

subgraph b [Bundles]
bb[tsParticles Basic]
end

subgraph pl [Plugins]
ple[Emitters]
pli[Interactivity]
plt[Trail]
end

bb --> pl

subgraph u [Updaters]
ud[Destroy]
end

bb --> u

subgraph pr [Presets]
prfo[Fountain]
end

bb & ple & pli & plt & ud --> prfo