R3DY UI, an open-source React Library, offers an array of 3D components. With R3DY, you import your 3D components just like any other React component. These components are interactive and can be implemented with little to no knowledge of 3D rendering.

R3DY UI is fully compatible with any React project, including additional frameworks such as NextJS and Remix.


The library comes with 5 prebuilt components which can be modified through a series of properties.

If you’d like to see a new component, head over to The R3DY UI issues page to add your suggestions!


Use the package manager npm to install R3DY UI.

npm install r3dy

Once you’ve installed the npm package, its time to add a component to your project. In the code snipped below, you can see how this is implemented.

Usage Example

import { Canvas } from '@react-three/fiber'
import { TextField } from 'r3dy'

# returns 'a react component containing the r3dy element'
export default function myComponent() {
  return (
      <Canvas shadows>

NOTE: You want to make sure that you have imported the necessary dependencies. Import the desired component from r3dy as well as Canvas from @react-three/fiber. Now that you’ve included dependencies, wrap your component in a Canvas tag. Make sure to include shadows in the Canvas tag or they will not show up.

The div is meant to contain the Canvas. By nature, Canvas will try to fill as much space as allowed. If it is not nested in a div and you have any sort of margin or padding, it will constantly expand to fit those margins.


View Github