How can I set Z up coordinate system in three.js?

You can set the up vector of the camera using


Then, it will work like you expect.

The answer above works in simple case, but if you wish for example to use the editor, you better set before doing anything

THREE.Object3D.DefaultUp = new THREE.Vector3(0,0,1);

So any new object will also use this convention. Using the previous answer, I struggled in the editor on on all the implications around the controls, saving the objects etc...

Please note that if you use a grid you still have to rotate it so that it covers XY plane instead of XZ

var grid = new THREE.GridHelper( 30, 30, 0x444444, 0x888888 );
grid.rotateX(Math.PI / 2);