Wrappers
This page is the wrappers hub. Use it to choose the right package, then open the dedicated page for installation and usage details.
Source folder: https://github.com/tsparticles/tsparticles/tree/main/wrappers
Wrapper pages
Popular first
React ecosystem
Vue ecosystem
Others (alphabetical)
Angular ConfettiAngular FireworksAstroEmberInfernojQueryLitPreactQwikRiotSolidWeb ComponentsWordPress
Common integration flow
No matter the framework:
- install wrapper +
@tsparticles/engine - load features once (
@tsparticles/slim,@tsparticles/all, or custom plugins) - render the wrapper component with options
Official wrappers (alphabetical)
Ordering rule for this section:
alphabetical by package name
exceptions are explicitly called out in mapping notes (for example WordPress requires a full WordPress installation)
@tsparticles/angular: Angular component wrapper (<ngx-particles />)
Docs: https://github.com/tsparticles/tsparticles/tree/main/wrappers/angular#readme - local guide:/guide/wrappers-angular@tsparticles/astro: Astro component wrapper
Docs: https://github.com/tsparticles/tsparticles/tree/main/wrappers/astro#readme - local guide:/guide/wrappers-astro@tsparticles/ember: Ember wrapper
Docs: https://github.com/tsparticles/tsparticles/tree/main/wrappers/ember#readme - local guide:/guide/wrappers-ember@tsparticles/inferno: Inferno component wrapper
Docs: https://github.com/tsparticles/tsparticles/tree/main/wrappers/inferno#readme - local guide:/guide/wrappers-inferno@tsparticles/jquery: jQuery plugin wrapper
Docs: https://github.com/tsparticles/tsparticles/tree/main/wrappers/jquery#readme - local guide:/guide/wrappers-jquery@tsparticles/lit: Lit component package
Source: https://github.com/tsparticles/tsparticles/tree/main/wrappers/lit - local guide:/guide/wrappers-lit@tsparticles/nextjs: Next.js wrapper around@tsparticles/react
Docs: https://github.com/tsparticles/tsparticles/tree/main/wrappers/nextjs#readme - local guide:/guide/wrappers-nextjs@tsparticles/nuxt2: Nuxt 2 module (client-side registration)
Docs: https://github.com/tsparticles/tsparticles/tree/main/wrappers/nuxt2#readme - local guide:/guide/wrappers-nuxt2@tsparticles/nuxt3: Nuxt 3 module (client-side registration)
Docs: https://github.com/tsparticles/tsparticles/tree/main/wrappers/nuxt3#readme - local guide:/guide/wrappers-nuxt3@tsparticles/nuxt4: Nuxt 4 module (client-side registration)
Docs: https://github.com/tsparticles/tsparticles/tree/main/wrappers/nuxt4#readme - local guide:/guide/wrappers-nuxt4@tsparticles/preact: Preact component wrapper
Docs: https://github.com/tsparticles/tsparticles/tree/main/wrappers/preact#readme - local guide:/guide/wrappers-preact@tsparticles/qwik: Qwik component wrapper
Docs: https://github.com/tsparticles/tsparticles/tree/main/wrappers/qwik#readme - local guide:/guide/wrappers-qwik@tsparticles/react: React component wrapper
Docs: https://github.com/tsparticles/tsparticles/tree/main/wrappers/react#readme - local guide:/guide/wrappers-react@tsparticles/riot: Riot wrapper
Docs: https://github.com/tsparticles/tsparticles/tree/main/wrappers/riot#readme - local guide:/guide/wrappers-riot@tsparticles/solid: Solid component wrapper
Docs: https://github.com/tsparticles/tsparticles/tree/main/wrappers/solid#readme - local guide:/guide/wrappers-solid@tsparticles/svelte: Svelte component wrapper
Docs: https://github.com/tsparticles/tsparticles/tree/main/wrappers/svelte#readme - local guide:/guide/wrappers-svelte@tsparticles/vue2: Vue 2 component wrapper
Docs: https://github.com/tsparticles/tsparticles/tree/main/wrappers/vue2#readme - local guide:/guide/wrappers-vue2@tsparticles/vue3: Vue 3 component wrapper
Docs: https://github.com/tsparticles/tsparticles/tree/main/wrappers/vue3#readme - local guide:/guide/wrappers-vue3@tsparticles/webcomponents: Web Components wrapper (<web-particles />)
Docs: https://github.com/tsparticles/tsparticles/tree/main/wrappers/webcomponents#readme - local guide:/guide/wrappers-webcomponents@tsparticles/wordpress: official WordPress plugin package
Source: https://github.com/tsparticles/tsparticles/tree/main/wrappers/wordpress - local guide:/guide/wrappers-wordpressangular-confetti: Angular wrapper for@tsparticles/confetti
Docs: https://github.com/tsparticles/tsparticles/tree/main/wrappers/angular-confetti#readme - local guide:/guide/wrappers-angular-confettiangular-fireworks: Angular wrapper for@tsparticles/fireworks
Docs: https://github.com/tsparticles/tsparticles/tree/main/wrappers/angular-fireworks#readme - local guide:/guide/wrappers-angular-fireworks
WordPress and Elementor notes
@tsparticles/wordpressis the official plugin package and requires a full WordPress setup.- Elementor does not have an official standalone
tsParticlesplugin package. - The README references integration through Premium Addons for Elementor: https://premiumaddons.com/particles-section-addon-for-elementor-page-builder/
Wrapper to demo mapping
Use this quick matrix to jump from a wrapper package to a runnable monorepo demo.
Ordering rule for this table:
- alphabetical by wrapper package name
- explicit exception for wrappers that are not demo-applicable (
@tsparticles/wordpress)
Source demos folder: https://github.com/tsparticles/tsparticles/tree/main/demo
| Wrapper package | Demo project |
|---|---|
@tsparticles/angular | demo/angular |
@tsparticles/astro | demo/astro |
@tsparticles/ember | demo/ember |
@tsparticles/inferno | demo/inferno |
@tsparticles/jquery | demo/jquery |
@tsparticles/lit | demo/lit |
@tsparticles/nextjs | demo/nextjs, demo/nextjs-legacy |
@tsparticles/nuxt2 | demo/nuxt2 |
@tsparticles/nuxt3 | demo/nuxt3 |
@tsparticles/nuxt4 | demo/nuxt4 |
@tsparticles/preact | demo/preact |
@tsparticles/qwik | demo/qwik |
@tsparticles/react | demo/react |
@tsparticles/riot | demo/riot |
@tsparticles/solid | demo/solid |
@tsparticles/svelte | demo/svelte, demo/svelte-kit |
@tsparticles/vue2 | demo/vue2 |
@tsparticles/vue3 | demo/vue3 |
@tsparticles/webcomponents | demo/webcomponents |
@tsparticles/wordpress | not applicable (requires full WordPress installation) |
angular-confetti | demo/angular |
angular-fireworks | demo/angular |
Minimal patterns
React / Next.js-style provider
import Particles, { ParticlesProvider } from "@tsparticles/react";
import type { Engine } from "@tsparticles/engine";
import { loadSlim } from "@tsparticles/slim";
const init = async (engine: Engine): Promise<void> => {
await loadSlim(engine);
};
export function Background() {
return (
<ParticlesProvider init={init}>
<Particles id="tsparticles" options={{ particles: { move: { enable: true } } }} />
</ParticlesProvider>
);
}Vue / Nuxt-style register function
import type { Engine } from "@tsparticles/engine";
export async function registerParticles(engine: Engine): Promise<void> {
const [{ loadSlim }] = await Promise.all([import("@tsparticles/slim")]);
await loadSlim(engine);
}Angular one-time initialization
import { NgParticlesService } from "@tsparticles/angular";
import { loadSlim } from "@tsparticles/slim";
constructor(private readonly particlesService: NgParticlesService) {}
ngOnInit(): void {
void this.particlesService.init(async engine => {
await loadSlim(engine);
});
}