react-three-fiber
by
pmndrs

Description: 🇨🇭 A React renderer for Three.js

View pmndrs/react-three-fiber on GitHub ↗

Summary Information

Updated 1 hour ago
Added to GitGenius on May 7th, 2026
Created on February 25th, 2019
Open Issues & Pull Requests: 22 (+0)
Number of forks: 1,829
Total Stargazers: 30,723 (+1)
Total Subscribers: 208 (+0)

Issue Activity (beta)

Open issues: 12
New in 7 days: 2
Closed in 7 days: 0
Avg open age: 179 days
Stale 30+ days: 5
Stale 90+ days: 3

Recent activity

Opened in 7 days: 1
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 1

Top labels

  • bug (76)
  • v10 (67)
  • enhancement (28)
  • needs reproduction (20)
  • react-native (12)
  • request for comments (10)
  • Typescript (9)
  • needs more info (8)

Detailed Description

@react-three/fiber is a powerful React renderer for Three.js, enabling developers to build complex 3D scenes declaratively using React components. By bridging the gap between React and Three.js, it allows users to express Three.js objects, such as meshes, lights, cameras, and materials, directly in JSX. This approach leverages React’s component model, state management, and lifecycle, making 3D scene construction more modular, reusable, and maintainable.

The core purpose of react-three-fiber is to provide a seamless integration between React and Three.js, so that developers familiar with React can use their existing knowledge to create interactive 3D experiences. All Three.js features are accessible through react-three-fiber, with no limitations or performance overhead. The library does not abstract or hide Three.js; instead, it renders Three.js objects outside of React’s DOM, ensuring optimal performance. React’s scheduling and reconciliation mechanisms can even outperform vanilla Three.js in large-scale applications.

A key feature of react-three-fiber is its declarative scene construction. Developers can define 3D objects as React components, manage their state with hooks, and respond to user interactions such as clicks and pointer events. The library provides a <Canvas> component as the entry point, which sets up the Three.js renderer and scene. Within this canvas, developers can nest Three.js elements as JSX tags, and use hooks like useFrame to subscribe to the render loop for animations or updates. This enables highly interactive and dynamic 3D applications that fully participate in React’s ecosystem, including context, state management, and effects.

react-three-fiber is compatible with both JavaScript and TypeScript, and supports React Native through a dedicated native renderer. This makes it possible to build cross-platform 3D experiences for web and mobile using a consistent API. The library is kept up-to-date with the latest Three.js releases, as it simply expresses Three.js objects in JSX, so new features are available immediately without waiting for library updates.

The project is at the center of a large ecosystem, with many companion libraries that extend its capabilities. These include @react-three/drei for useful helpers and abstractions, @react-three/gltfjsx for converting GLTF models to JSX, @react-three/postprocessing for visual effects, @react-three/xr for VR/AR support, and several physics engines like @react-three/rapier and @react-three/cannon. There are also tools for UI components, animation, gesture handling, and more, making it easy to build sophisticated 3D applications.

react-three-fiber is widely adopted by companies and projects in design, modeling, real estate, AI, and CAD, demonstrating its robustness and versatility. The project is open source and welcomes contributions and donations. Comprehensive documentation, tutorials, and examples are available to help developers get started, but a basic understanding of both React and Three.js is recommended. Overall, react-three-fiber empowers React developers to create high-performance, interactive 3D experiences with the full power of Three.js, all within the familiar React paradigm.

react-three-fiber
by
pmndrspmndrs/react-three-fiber

Repository Details

Fetching additional details & charts...