files/en-us/web/api/dommatrixreadonly/rotate/index.md
{{APIRef("Geometry Interfaces")}}{{AvailableInWorkers}}
The rotate() method of the {{domxref("DOMMatrixReadOnly")}} interface returns a new {{domxref("DOMMatrix")}} created by rotating the source matrix around each of its axes by the specified number of degrees. The original matrix is not altered.
To mutate the matrix as you rotate it, see {{domxref("DOMMatrix.rotateSelf()")}}.
rotate()
rotate(rotX)
rotate(rotX, rotY)
rotate(rotX, rotY, rotZ)
rotX
is2D is false.rotY {{optional_inline}}
is2D is false.rotZ {{optional_inline}}
If only rotX is passed, then rotX is used as the value for the z-coordinate, and the x- and -y-coordinates are both set to zero.
A DOMMatrix.
const matrix = new DOMMatrix(); // create a matrix
console.log(matrix.toString());
// output: "matrix(1, 0, 0, 1, 0, 0)"
const rotated = matrix.rotate(30); // rotation and assignment
console.log(matrix.toString()); // original matrix is unchanged
// output: "matrix(1, 0, 0, 1, 0, 0)"
console.log(rotated.toString());
// output: "matrix(0.866, 0.5, -0.5, 0.866, 0, 0)"
{{Specifications}}
{{Compat}}
transform attribute