`matrix()` CSS function
Baseline Widely available
This feature is well established and works across many devices and browser versions. It's been available across browsers since September 2015.
The matrix() CSS function defines a homogeneous 2D transformation matrix. Its result is a <transform-function> data type.
Note: The matrix(a, b, c, d, tx, ty) function is a shorthand for matrix3d(a, b, 0, 0, c, d, 0, 0, 0, 0, 1, 0, tx, ty, 0, 1).
Try it
transform: matrix(1.2, 0.2, -1, 0.9, 0, 20);
transform: matrix(0.4, 0, 0.5, 1.2, 60, 10);
transform: matrix(0, 1, 1, 0, 0, 0);
transform: matrix(0.1, 1, -0.3, 1, 0, 0);
<section id="default-example">
<img
class="transition-all"
id="example-element"
src="/shared-assets/images/examples/firefox-logo.svg"
width="200" />
</section>
Syntax
matrix(a, b, c, d, tx, ty)
Values
The matrix() function is specified with six values. The constant values are implied and not passed as parameters; the other parameters are described in the column-major order.
- a b c d
- Are
<number>s describing the linear transformation. - tx ty
- Are
<number>s describing the translation to apply.
| Cartesian coordinates on ℝ^2 | Homogeneous coordinates on ℝℙ^2 | Cartesian coordinates on ℝ^3 | Homogeneous coordinates on ℝℙ^3 |
|---|---|---|---|
[a b c d tx ty] |
The values represent the following functions: matrix(scaleX(), skewY(), skewX(), scaleY(), translateX(), translateY()).
Formal syntax
<matrix()> =
matrix( <number>#{6} )
Examples
HTML
<div>Normal</div> <div class="changed">Changed</div>
CSS
div {
width: 80px;
height: 80px;
background-color: skyblue;
}
.changed {
transform: matrix(1, 2, -1, 1, 80, 80);
background-color: pink;
}
Result
Specifications
| Specification |
|---|
| CSS Transforms Module Level 1 # funcdef-transform-matrix |
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on iOS | Samsung Internet | WebView Android | WebView on iOS | |
matrix |
1 |
12 |
10.5 |
3.1 |
18 |
4 |
11 |
3.2 |
1.0 |
2 |
3.2 |
|
See also
transform- Individual transform properties:
<transform-function>matrix3d()
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/transform-function/matrix