PyTorch3D is Meta AI’s library of reusable components for deep learning with 3D data, built natively on PyTorch. It supplies the differentiable building blocks โ mesh operations, rendering, losses and data structures โ that 3D vision research needs, and has earned about 10,000 stars on GitHub with maintenance continuing in 2026.
Working with 3D data in a deep learning framework used to mean bolting together custom CUDA for every operation. PyTorch3D provides efficient, batched data structures for meshes, point clouds and cameras, a modular differentiable renderer that produces images from meshes and point clouds inside the training loop, and a suite of 3D losses such as chamfer distance and mesh edge/normal consistency terms. It handles loading common formats like OBJ and PLY, includes reference implementations of influential methods such as implicit surface learning and textured rendering pipelines, and scales to large datasets with optimized batched operations. Much of the modern neural rendering and 3D generation research ecosystem builds on or benchmarks against PyTorch3D components. The library’s design mirrors PyTorch itself: operations are differentiable end to end, batching is a first-class concern, and both high-level modules and low-level functions are exposed so researchers can drop down a level when a paper demands it. Tutorials cover the full path from loading a mesh to training a neural renderer, and components are used across Meta’s 3D and augmented reality research. Community adoption spans academia and industry, including teams building digital humans, product visualization and simulation pipelines.
PyTorch3D is free and open source from Meta AI Research. There are no paid tiers โ install it from PyPI or conda and use it anywhere.
PyTorch3D is for 3D vision researchers and engineers building neural rendering, reconstruction, avatar and 3D generation systems who want differentiable 3D operations without writing custom kernels.