Build stunning interfaces with high-performance WebGL & Canvas components.
Copy. Paste. Captivate.
Quick Start • Showcase • Live Demo • Contribute
We built this because most "animated background" libraries are either 5 years old, bloated with dependencies, or just ugly. OpenBackgrounds is different:
- 🚀 Zero-Bloat: Each background is a standalone component.
- 🎨 Design-First: Crafted to look good behind text, not just as a tech demo.
- ⚡ High Performance: Optimized
requestAnimationFrameloops and WebGL instance usage. - 🛠 Framework Ready: Native support for Vue 3 and Nuxt.
OpenBackgrounds is designed for real-world application, not just CodePen demos.
Add subtle motion to static forms to increase perceived quality.
Grab attention immediately with immersive WebGL visuals that don't distract from your copy.
Choose your flavor. We support direct copy-paste (recommended for maximum control) or usage via our CLI (coming soon).
1. Copy the component
Navigate to app/components/bg/ and grab the file you want (e.g., AuroraWaves.vue).
2. Install dependencies
Most backgrounds require three or simplex-noise.
npm install three simplex-noise
# or
bun add three simplex-noise3. Use in your app
<script setup>
import AuroraWaves from './components/AuroraWaves.vue'
</script>
<template>
<div class="relative w-full h-screen">
<!-- The background sits absolutely positioned -->
<div class="absolute inset-0 -z-10">
<AuroraWaves />
</div>
<!-- Your content goes here -->
<main class="relative z-10 flex items-center justify-center h-full">
<h1 class="text-white text-6xl font-bold">Hello World</h1>
</main>
</div>
</template>Built on the shoulders of giants.
We welcome contributions! Please see our Contributing Guide for details.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.


