Skip to content
This repository was archived by the owner on Apr 15, 2026. It is now read-only.

Latest commit

 

History

History

README.md

banner

tsParticles Firefly Preset

jsDelivr npmjs npmjs GitHub Sponsors

tsParticles preset for a mouse trail made with small fading particles like little fireflies.

Discord Telegram

tsParticles Product Hunt

Sample

demo

Quick checklist

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

How to use it

CDN / Vanilla JS / jQuery

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

Usage

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

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

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

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: "firefly",
  },
});

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 loadFireflyPreset 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-trail Adds pointer-driven trail interaction https://www.npmjs.com/package/@tsparticles/interaction-external-trail
@tsparticles/plugin-interactivity Enables external interaction plumbing https://www.npmjs.com/package/@tsparticles/plugin-interactivity
@tsparticles/updater-life Controls particle life-cycle stages https://www.npmjs.com/package/@tsparticles/updater-life

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

Common pitfalls

  • Calling tsParticles.load(...) before loadFireflyPreset(tsParticles)
  • The effect relies on mouse movement; on touch-only devices it may not appear without additional interaction setup
  • The preset uses a transparent background; set background.color if you need a solid backdrop

Related docs


flowchart TD

subgraph b [Bundles]
bb[tsParticles Basic]
end

subgraph i [Interactions]

subgraph ie [Externals]
iet[Trail]
end

end

bb --> i

subgraph pl [Plugins]
pli[Interactivity]
end

bb --> pl

subgraph u [Updaters]
ul[Life]
end

bb --> u

subgraph pr [Presets]
prff[Firefly]
end

bb & iet & pli & ul --> prff
Loading