Skip to content

tsParticles Errors ​

tsParticles reports failures through stable, human-readable error codes instead of embedding full message strings in every delivered bundle.

Depending on the build, an error is surfaced in one of two ways:

  • Development / non-minified builds throw the full, formatted English message, e.g. Invalid HDR "peakNits" value: expected a positive number, got "NaN".
  • Minified / production builds throw only a compact code plus a link to this page, e.g. [tsParticles Error TSP-1203] https://particles.js.org/errors/#TSP-1203.

The code is stable and never reused after a release: if you see TSP-xxxx, the explanation below is the authoritative one.

Reading an error code ​

A code has the shape TSP-<area><serial>. The first numbers identify the area:

RangeArea
TSP-100xEngine core (version, particle, plugin registration)
TSP-110xCanvas / OffscreenCanvas
TSP-120xOptions validation
TSP-200xImage shape
TSP-210xGIF shape
TSP-300xPolygon mask plugin
TSP-310xEmitters + emitters shapes
TSP-320xInteractivity + base mover
TSP-400xParticle interactions (collisions)

Some messages contain placeholders such as {0} or {1}. They are replaced at runtime with contextual values (versions, image names, option values). In production builds those values never appear — the compact code + link is shown instead.

Error catalog ​

The message column shows the development message as emitted by getErrorMessage(); {0}, {1} denote the positional arguments.

Engine ​

CodeMessage
TSP-1001The tsParticles version is different from the loaded plugins version. Engine version: {0}. Plugin version: {1}
TSP-1002a valid position cannot be found for particle
TSP-1003Register plugins can only be done before calling tsParticles.load()
TSP-1101OffscreenCanvas is required but not supported by this browser
TSP-1102OffscreenCanvas transfer failed
TSP-1201Invalid HDR enable value: expected a boolean, got {0}
TSP-1202Invalid HDR mode value: expected one of {0}, got {1}
TSP-1203Invalid HDR peakNits value: expected a positive number, got {0}

Image shape ​

CodeMessage
TSP-2001No images collection found
TSP-2002No image source provided
TSP-2003{0} not found
TSP-2004Image shape not initialized

GIF shape ​

CodeMessage
TSP-2101not a supported GIF file
TSP-2102GIF frame size is to large
TSP-2103error while parsing frame {0} "{1}"
TSP-2104could not create offscreen canvas context

Polygon mask plugin ​

CodeMessage
TSP-3001No polygon found, you need to specify SVG url in config.
TSP-3002Error occurred during polygon mask download
TSP-3003No polygon data loaded.

Emitters + emitters shapes ​

CodeMessage
TSP-3101tsParticles Emitters Plugin is not loaded
TSP-3102No 2d context available
TSP-3103No path data available

Interactivity + base mover ​

CodeMessage
TSP-3201tsParticles Interactivity Plugin is not loaded
TSP-3202Click handlers can only be set after calling tsParticles.load()
TSP-3203tsParticles Base Mover is not loaded

Particle interactions ​

CodeMessage
TSP-4001Particle is overlapping and can't be placed