Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 1,000,000+ packages pre-installed, including three-orbitcontrols with all npm packages installed. Try it out:

require("three/package.json"); // three is a peer dependency. var threeOrbitcontrols = require("three-orbitcontrols")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

three-orbitcontrols v2.110.3

is the three.js OrbitControls from official repo examples


[three-js] exposes real modules now via three/examples/jsm/... For example to import the Orbit, do

import { OrbitControls } from "three/examples/jsm/controls/OrbitControls"


is the three.js OrbitControls from official repo examples


To install with npm do

npm install three
npm install three-orbitcontrols


All credit goes to OrbitControls.js contributors. See also official OrbitControls documentation.

I have just stolen the code and modified to export it as a module so you can do something like

const THREE = require('three')
const OrbitControls = require('three-orbitcontrols')
// ES6 also works, i.e.
// import OrbitControls from 'three-orbitcontrols'

// Init THREE scene (add your code)

const camera = new THREE.PerspectiveCamera(75, width / height, 0.1, 1000)
camera.position.z = 5

const renderer = new THREE.WebGLRenderer({ canvas })

const controls = new OrbitControls(camera, renderer.domElement)
controls.enableDamping = true
controls.dampingFactor = 0.25
controls.enableZoom = false

Please note that:

  1. You call OrbitControls directly instead of THREE.OrbitControls.
  2. This package does not depend directly on three.js, which is declared as a peer dependency.

See also examples:

  • CommonJS example: clone this repo, install deps and launch npm run example_commonjs.
  • TypeScript example: clone this repo, install deps and launch npm run example_typescript.


See OrbiControls.js history here.

Please also note that this repo's minor version equals three.js release number.


There is another package similar to this one: three-orbit-controls. I decided to create another package with a different approach, see this issue for the rationale.

I am using this package for my 3d tic tac toe canvas: see also online demo.


License is the same as three.js, i.e. MIT.

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free