CSS Transform Generator
Build a CSS transform from translate, rotate, scale, skew, 3D rotation and perspective, choose the order and origin, and get the equivalent matrix() or matrix3d().
The CSS transform property moves, rotates, scales, skews and tilts an element without touching the page layout, which makes it the basis of most hover effects and animations. The order of the functions matters, and the combined effect is hard to picture, so this generator builds the value from separate controls, lets you pick the order and the origin, previews the result against the original box, and gives the single equivalent matrix() or matrix3d().
How to use this tool
- Set translate, rotate, scale and skew; add rotateX/rotateY and perspective for 3D.
- Choose the order of the functions and the transform-origin.
- Compare the blue box with the dashed original in the preview.
- Copy the CSS, or the matrix if you need one value for scripts or animations.
Formula
translate(e, f) = [1 0 e; 0 1 f] · rotate(θ) = [cos θ −sin θ; sin θ cos θ] · scale(x, y) = [x 0; 0 y] · skew(α, β) = [1 tan α; tan β 1] · M = M₁ × M₂ × … in the written order
matrix(a, b, c, d, e, f) holds the 3 × 3 matrix [a c e; b d f; 0 0 1]. For 3D the tool multiplies 4 × 4 matrices, with perspective(d) putting −1/d in the bottom row. All functions act around the transform-origin.
Example
translate(10px, 20px) rotate(90deg) multiplies [1 0 10; 0 1 20] by [0 −1 0; 1 0 0], giving matrix(0, 1, −1, 0, 10, 20): the element turns a quarter clockwise and moves 10 px right and 20 px down. Writing rotate(90deg) translate(10px) instead gives matrix(0, 1, −1, 0, 0, 10) — the 10 px move now happens along the rotated axis, which points down.
Frequently asked questions
Why does the order of transform functions matter?
Each function works in the coordinate system left by the ones before it. Rotate first and a later translate moves along the turned axis; translate first and the move happens on the page axes.
What are the translate, rotate and scale properties?
Newer CSS has separate translate, rotate and scale properties. They always apply in that order and can be animated independently; the tool shows them when your order matches.
Why is my 3D rotation flat?
Without perspective, rotateX and rotateY just squash the element. Add perspective() here, or perspective on the parent so several children share one vanishing point.
Sources
Last updated:
Page address with these inputs: https://kakao.mobile/tools/css-transform-generator/
Cite or embed this tool
kakaoCalc. (2026, November 8). CSS Transform Generator. https://kakao.mobile/tools/css-transform-generator/
“CSS Transform Generator.” kakaoCalc, 8 Nov. 2026, kakao.mobile/tools/css-transform-generator/.
Paste this code into your page. The widget runs in your visitors' browsers, shows no ads and keeps a link back to this page. Embedding terms