Welcome to the Missing Manual for three.js!

Discover three.js is a complete introduction to the web as a platform for 3D graphics via the three.js WebGL library, from one of the core three.js developers

The full book is coming very soon! In the meantime, check out Section One, which is completely free.

Section One is a standalone tutorial series designed to get you started on your journey of creating modern, professional-quality3D web applications in the shortest time possible.

Stay up to Date - Enter Your Email Here

What is three.js?

three.js is the world's most popular JavaScript framework for displaying 3D content on the web.

With three.js, you no longer need a fancy gaming PC or console to display photorealistic 3D graphics. You don't even need to download a special application. Now everyone can experience stunning 3D applications in the palm of their hand using nothing more than a smartphone and a web browser.

This amazing library and the vibrant community that surrounds are all you need to create games, music videos, scientific and data visualizations, or pretty much anything else you can imagine, right in your browser, on your laptop, tablet, or smartphone!

threejs.org - the homepage of three.js

What's in the Book

This book covers everything you need to create amazing, professional-quality, high-performance 3D web applications that run on any operating system and device, from smartphones to laptops to smart-watches, even if you are completely new to web development and computer graphics. three.js is the most accessible computer graphics framework that has ever existed, and we will take full advantage of that to guide you to a high level of expertise, in no time at all.

Section One introduces all the foundational concepts you need to create a basic three.js application, and from there, you can go through the other sections in any order you like.

If you've never created a JavaScript application before, head over to the appendices. We've got you covered with everything from HTML, CSS, and JavaScript reference chapters to more advanced chapters on modules and asynchronous coding patterns, and more, all completely free.

Live Code Examples

Every chapter comes with a live code editor that automatically updates as you type, featuring before and after views so you can work along with the text or skip ahead to see the completed code in action. You can also download the code as a zip file, ready for use on your own computer.

Clear 2D Diagrams

Concepts are demonstrated throughout the book using hundreds of original diagrams that clearly illustrate the ideas being introduced.

Perspective camera frustum
Dancing animation, selected frames
Directional Lighting
Cylinder rotation around Z-axis

Always up to Date

There's a new version of three.js released once every month. There's no way for printed books to keep up with this rapid release cycle, which means they are outdated almost as soon as they are released. Discover three.js is 100% online and up to date with every new release of three.js.

Now you never need to worry that what you read won't work with the latest version!

Table of Contents

The First Two Sections are Completely Free!

Section One free, standalone tutorial series, which, along with the Introduction and Appendices, introduces all the important concepts and terminology that you need to get started in your exploration of 3D web graphics. Everything you need to know is covered here, including animation, lighting, camera controls, photorealistic materials and textures, and lots more.

What are you waiting for? Dive right in and see what Discover three.js has to offer, completely free!

The Big List of three.js Tips and Tricks

Click here for a big list of tips, tricks, caveats, gotchas and performance suggestions for using three.js, for beginners and experts alike. Keep this page open while working on three.js applications of any size.

About the Author

Portrait of the author

Lewy Blue is a one time stilt-walker and fire-dancer who decided there was an even brighter future in mathematics.

His idea of a perfect life is to travel the world with a backpack and laptop. Currently, he is living out that dream somewhere in Vietnam.

He is one of the main contributors to the three.js open source project, focusing on documentation writing and interoperability with third-party applications, especially Autodesk, Blender, and Lightwave 3D. He is an admin on the official three.js forum.