threlte/threlte
threlte/threlte has 3,359 GitHub stars and 173 forks. GitHot measured +2 stars in 24 hours and +3 in 7 days. Last checked 2026-11-05 07:18 UTC. Last push 2026-11-02.
3D framework for Svelte
What you can do
- Clean API transparently exposing all Three.js objects through declarative API.
- Hooks providing easy access to low-level contexts like animation frames and the rendering engine.
- Plugins making it easy to extend Threlte with custom code and logic.
- Events enabling robust and Svelte-native access to state transformations in your scenes.
Measured star growth
- in 24h
- +2
- in 7 days
- +3
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Original
Rapidly Build Interactive 3D Apps for the Web
Threlte is a Svelte library that simplifies creating 3D apps for the web. It provides a declarative, type-safe, reactive and interactive API out-of-the-box.
Threlte's 3D rendering is powered by Three.js, and it also provides a physics engine through Rapier and an animation studio via Theatre.js; see packages for details.
Check out our documentation and our Discord community.
Quickstart
Installation
Check out the installation instructions.
Tutorial
To get a hang of the basics, we recommend following our introductory tutorial.
Support
Have questions? Feel free to ask in our Discord support forum.
Features
Clean API transparently exposing all Three.js objects through declarative API.
Hooks providing easy access to low-level contexts like animation frames and the rendering engine.
Plugins making it easy to extend Threlte with custom code and logic.
Events enabling robust and Svelte-native access to state transformations in your scenes.
Interactivity makes it easy to react to user inputs on 3D objects.
Packages
Threlte is comprised of six distinct packages to allow you to import only what you need:
@threlte/core provides declarative and transparent Svelte binding to Three.js.
@threlte/extras boosts productivity with assorted enhancements that extend Threlte's functionality.
@threlte/gltf gives you a CLI to that turn GLTF assets into declarative and reusable Threlte components.
@threlte/rapier enables performant physics in your Threlte app through the Rapier engine
@threlte/theatre lets you animate in your Threlte app through the Theatre.js studio
@threlte/xr** - components and hooks for VR and AR environments
@threlte/flex** - components to easily use the flex engine
yoga-layoutwith Threlte.
Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Filing Issues - if you have feature requestions or you think you spotted a bug, submit an issue.
- Contributing Code - if you would like to drop us a PR, read the contribution guide first.
License
The MIT License (MIT). Please see the License File for more information.