Options Reference
tsParticles options are deep, so this page is a practical map before you dive into every sub-option.
Choose your configuration path
- Fast visual result: start from a preset and override key fields.
- Full control: define
particles,interactivity, andbackgroundmanually. - Config-first workflow: start from
@tsparticles/configsand iterate safely.
Quick docs (local)
Background & CanvasBackground MaskFull ScreenMotionManual ParticlesThemesParticlesParticles NumberParticles MoveParticles LinksParticles PaletteParticles ShapeParticles CollisionsParticles LifeParticles OrbitParticles RollParticles RotateInteractivityInteractivity ClickInteractivity HoverInteractivity DivInteractivity EventsInteractivity ModesPlugin: AbsorbersPlugin: EmittersPlugin: InfectionPlugin: Polygon MaskPerformance Guide
Particle deep-dive pages
Particles BounceParticles ColorParticles DestroyParticles GroupParticles OpacityParticles PaletteParticles RepulseParticles ShadowParticles SizeParticles StrokeParticles TiltParticles TwinkleParticles WobbleParticles ZIndex
Where the source of truth lives
- Main options docs:
tsparticles/markdown/Options.md - Detailed option pages:
tsparticles/markdown/Options/ - Type interfaces:
tsparticles/engine/src/Options/Interfaces
Most-used root options
backgroundfullScreeninteractivityparticlesdetectRetinapresetresponsive
Most-used sections
background: canvas background and masking basics.particles.number: quantity and density.particles.move: movement speed, direction, and out modes.particles.shape: circle, polygon, image, emoji, custom.particles.palette: quickly swap coordinated color sets.interactivity: hover/click modes and external effects.detectRetina: quality/perf tradeoff on high-DPI screens.
Particles map (nested view)
Use this quick tree as a navigation aid before opening single pages:
text
particles
|- number
|- color
|- shape
|- size
|- opacity
|- move
|- links
|- collisions
|- life
|- destroy
|- group
|- orbit
|- repulse
|- roll
|- rotate
|- shadow
|- stroke
|- tilt
|- twinkle
|- wobble
|- zIndex
`- paletteOpen root docs first, then deep-dive sections:
- Root:
Particles - Deep dives:
Particles Number,Particles Move,Particles Links
Safe options workflow
- Start with a working config from demos or presets.
- Change one section at a time.
- Validate with TypeScript (
IOptions) in app code. - Keep production options in dedicated JSON files.
Minimal typed example
ts
import type { ISourceOptions } from "@tsparticles/engine";
export const particlesOptions: ISourceOptions = {
fpsLimit: 60,
particles: {
number: { value: 70 },
move: { enable: true, speed: 1.5 },
},
};Performance guardrails
- Prefer
@tsparticles/slimunless you need advanced plugins. - Keep particle counts proportional to container area.
- Profile with real devices before adding heavy interactions.
Related references
- Config package docs: https://github.com/tsparticles/tsparticles/blob/main/utils/configs/README.md
- Presets folder: https://github.com/tsparticles/tsparticles/tree/main/presets
- Palettes folder: https://github.com/tsparticles/tsparticles/tree/main/palettes
For full details on every sub-option, also use the source pages in tsparticles/markdown/Options linked above.
