    Skip to content

      Navigation Menu

            Sign in Appearance settings
                * Platform
                        + AI CODE CREATION
                            o GitHub Copilot Write better code with AI
                            o GitHub Copilot app Direct agents from issue to merge
                            o MCP Registry Integrate external tools
                        + DEVELOPER WORKFLOWS
                            o Actions Automate any workflow
                            o Codespaces Instant dev environments
                            o Issues Plan and track work
                            o Code Review Manage code changes
                            o Code Quality Enforce quality at merge
                        + APPLICATION SECURITY
                            o GitHub Advanced Security Find and fix vulnerabilities
                            o Code security Secure your code as you build
                            o Secret protection Stop leaks before they start
                        + EXPLORE
                            o Why GitHub
                            o Documentation
                            o Blog
                            o Changelog
                            o Marketplace
                      View all features
                * Solutions
                        + BY COMPANY SIZE
                            o Enterprises
                            o Small and medium teams
                            o Startups
                            o Nonprofits
                        + BY USE CASE
                            o App Modernization
                            o DevSecOps
                            o DevOps
                            o CI/CD
                            o View all use cases
                        + BY INDUSTRY
                            o Healthcare
                            o Financial services
                            o Manufacturing
                            o Government
                            o View all industries
                      View all solutions
                * Resources
                        + EXPLORE BY TOPIC
                            o AI
                            o Software Development
                            o DevOps
                            o Security
                            o View all topics
                        + EXPLORE BY TYPE
                            o Customer stories
                            o Events & webinars
                            o Ebooks & reports
                            o Business insights
                            o GitHub Skills
                        + SUPPORT & SERVICES
                            o Documentation
                            o Customer support
                            o Community forum
                            o Trust center
                            o Partners
                      View all resources
                * Open Source
                        + COMMUNITY
                            o GitHub Sponsors Fund open source developers
                        + PROGRAMS
                            o Security Lab
                            o Maintainer Community
                            o Accelerator
                            o GitHub Stars
                            o Archive Program
                        + REPOSITORIES
                            o Topics
                            o Trending
                            o Collections
                * Enterprise
                        + ENTERPRISE SOLUTIONS
                            o Enterprise platform AI-powered developer platform
                        + AVAILABLE ADD-ONS
                            o GitHub Advanced Security Enterprise-grade security features
                            o Copilot for Business Enterprise-grade AI features
                            o Premium Support Enterprise-grade 24/7 support
              * Pricing
                Type / to search
                Sign in
              Sign up Appearance settings
      You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
              mrdoob / three.js Public

                      * Uh oh!

                        There was an error while loading. Please reload this page.

              * Notifications You must be signed in to change notification settings
              * Fork 36.5k
                * Star 114k
          * Code
          * Issues 246
          * Pull requests 124
          * Actions
          * Wiki
          * Security and quality 0
          * Insights
          Additional navigation options
                  * Code
                  * Issues
                  * Pull requests
                  * Actions
                  * Wiki
                  * Security and quality
                  * Insights
                                              dev
                                          Branches Tags
                                            Go to file
                                        Code
                                          Open more actions menu

                                        Folders and files

                                          Name                       Name                         Last commit message    Last commit date
                                            Latest commit          
                                                                   
                                                History            
                                                                   
                                                47,705 Commits     
                                                  47,705 Commits   
                                                  .github                    .github                                                     
                                                  build                      build                                                       
                                                  devtools                   devtools                                                    
                                                  docs                       docs                                                        
                                                  editor                     editor                                                      
                                                  examples                   examples                                                    
                                                  files                      files                                                       
                                                  manual                     manual                                                      
                                                  src                        src                                                         
                                                  test                       test                                                        
                                                  utils                      utils                                                       
                                                  .editorconfig              .editorconfig                                               
                                                  .gitattributes             .gitattributes                                              
                                                  .gitignore                 .gitignore                                                  
                                                  LICENSE                    LICENSE                                                     
                                                  README.md                  README.md                                                   
                                                  SECURITY.md                SECURITY.md                                                 
                                                  eslint.config.js           eslint.config.js                                            
                                                  icon.png                   icon.png                                                    
                                                  llms.txt                   llms.txt                                                    
                                                  package-lock.json          package-lock.json                                           
                                                  package.json               package.json                                                
                                            View all files         
                                          

                                              Repository files navigation

                                                * 
                                                * README
                                                * Code of conduct
                                                * Contributing
                                                * MIT license
                                                * Security
                                                More items

                                                three.js

                                                JavaScript 3D library

                                              The aim of the project is to create an easy-to-use, lightweight, cross-browser, general-purpose 3D library. The current builds only include WebGL and WebGPU renderers but SVG and CSS3D renderers are also available as addons.

                                              Examples — Docs — Manual — Wiki — Migrating — Questions — Forum — Discord

                                                Usage

                                              This code creates a scene, a camera, and a geometric cube, and it adds the cube to the scene. It then creates a WebGL renderer for the scene and camera, and it adds that viewport to the document.body element. Finally, it animates the cube within the scene for the camera.

                                                import * as THREE from 'three';
                                                
                                                const width = window.innerWidth, height = window.innerHeight;
                                                
                                                // init
                                                
                                                const camera = new THREE.PerspectiveCamera( 70, width / height, 0.01, 10 );
                                                camera.position.z = 1;
                                                
                                                const scene = new THREE.Scene();
                                                
                                                const geometry = new THREE.BoxGeometry( 0.2, 0.2, 0.2 );
                                                const material = new THREE.MeshNormalMaterial();
                                                
                                                const mesh = new THREE.Mesh( geometry, material );
                                                scene.add( mesh );
                                                
                                                const renderer = new THREE.WebGLRenderer( { antialias: true } );
                                                renderer.setSize( width, height );
                                                renderer.setAnimationLoop( animate );
                                                document.body.appendChild( renderer.domElement );
                                                
                                                // animation
                                                
                                                function animate( time ) {
                                                
                                                	mesh.rotation.x = time / 2000;
                                                	mesh.rotation.y = time / 1000;
                                                
                                                	renderer.render( scene, camera );
                                                
                                                }

                                              If everything goes well, you should see this.

                                                Cloning this repository

                                              Cloning the repo with all its history results in a ~2 GB download. If you don't need the whole history you can use the depth parameter to significantly reduce download size.

                                                git clone --depth=1 https://github.com/mrdoob/three.js.git

                                                Change log

                                              Releases

                                        About

                                        JavaScript 3D Library.

                                          threejs.org/

                                        Topics

                                          3daugmented-realitycanvashtml5javascriptsvgvirtual-realitywebaudiowebglwebgl2webgpuwebxr

                                        Resources

                                          Readme
                                          MIT license

                                        Code of conduct

                                          Code of conduct

                                        Contributing

                                          Contributing

                                        Security policy

                                          Security policy
                                          Activity

                                        Stars

                                          114.4k stars

                                        Watchers

                                          2.5k watching

                                        Forks

                                          36.5k forks
                                          Report repository

                                        Releases

                                        Sponsor this project

                                        Used by

                                        Contributors

                                        Languages

    Footer

        © 2026 GitHub, Inc.

      Footer navigation

        * Terms
        * Privacy
        * Security
        * Status
        * Community
        * Docs
        * Contact
        * Manage cookies
        * Do not share my personal information
      You can’t perform that action at this time.