npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

conv3d

v1.0.5

Published

An interactive CLI tool for converting 3D models to GLB format and outputting React components to use with r3f. Supports FBX, OBJ, and glTF input formats.

Readme

banner image for conv3d

conv3d

An interactive command-line tool for converting 3D models (GLTF, FBX, OBJ) to GLB format and generating React components for use with react-three-fiber.

You have a bunch of models lying around that are not in the right format for your project? You want to use them in a React project with react-three-fiber or for three.js and need those GLBs, but not want to go into Blender for every single one of them?

Then this is the tool for you!

Installation

npm install -g conv3d

Usage

conv3d --help
                                     .d8888b.  8888888b.
                                    d88P  Y88b 888  "Y88b
                                         .d88P 888    888
 .d8888b  .d88b.  88888b.  888  888     8888"  888    888
d88P"    d88""88b 888 "88b 888  888      "Y8b. 888    888
888      888  888 888  888 Y88  88P 888    888 888    888
Y88b.    Y88..88P 888  888  Y8bd8P  Y88b  d88P 888  .d88P
 "Y8888P  "Y88P"  888  888   Y88P    "Y8888P"  8888888P"

Usage: conv3d [command] [options]

An interactive CLI tool for converting 3D models to GLB format and outputting React components to use with r3f. Supports FBX, OBJ, and glTF input formats.

Options:
  -V, --version      output the version number
  --tsx              Create .tsx files. Per default it will ask for user input.
  --no-tsx           Don't create .tsx files
  --optimize         Create optimized .glb files. Per default it will ask for user input.
  --no-optimize      Don't create optimized output .glb files
  --forceOverwrite   Overwrite existing files without asking
  -h, --help         display help for command

Commands:
  bulk [options]     Convert all 3D models from a directory
  single [options]   Convert a single 3D model from directory
  tsx-gen [options]  Generate .tsx files for 3D models and optimize .glb for web
  help [command]     display help for command

Features

  • Interactive CLI, shows you what it creates and asks for confirmation
  • Bulk Mode for converting multiple 3D models at once
  • Supports GLTF, FBX, and OBJ file formats
  • Generates React/TSX components using gltfjsx

The CLI will try it's best to guide you through it's steps:

  1. Selecting the type of 3D models to convert (GLTF, FBX, or OBJ, or ALL) (unless you did so in the command line already).
  2. Show you which output it is going to create
  3. Ask you for confirmation to proceed
  4. Create the necessary output directories
  5. Convert the 3D model files to GLB format
  6. Generate React components with gltfjsx (if you specified that)
  7. Optimize the GLB files for web use (if you specified that)

Single Mode Examples

Minimum:

conv3d single -i ./path/to/3d-model.fbx

With generating tsx file generation:

conv3d single -i ./path/to/3d-model.fbx --tsx

Without generating TSX files:

conv3d single -i ./path/to/3d-model.obj --no-tsx

If you don't specify a flag for tsx output the program will ask you.

Bulk Mode Examples

Minimum:

conv3d bulk -i ./path/to/3d-models-folder/ 

Recursively convert all FBX models in a directory, with optimized GLB files and TSX generation.

conv3d bulk -i models/fbx/mixamo/characters/ --recursive -m FBX --tsx --optimize

TSX Generation

Minimum:

conv3d tsx-gen -i ./path/to/3d-models-folder/ 

Recursive example, with overwriting existing files without asking

conv3d tsx-gen -i ./path/to/3d-models-folder/ --recursive --forceOverwrite

Acknowledgements

This tool uses a bunch of other libraries to do its heavy lifting and just provides a wrapper around using them in a more convenient manner.

For converting OBJ to GLB:

It is heavily reliant on a few others to make the command prompt beautiful and nice to interact with as well: