This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The viewBox read-only property of the SVGPatternElement interface reflects the viewBox attribute of the given element. It represents the x, y, width, and height values defining the area to be used for the pattern's viewBox.
An SVGAnimatedRect object.
Given the following SVG, we can use the viewBox property to retrieve the dimensions of the viewBox for the pattern element:
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<defs>
<pattern id="pattern1" width="10" height="10" viewBox="0 0 50 50">
<circle cx="25" cy="25" r="25" fill="blue" />
</pattern>
</defs>
<rect x="0" y="0" width="100" height="100" fill="url(#pattern1)" />
</svg>
We can access the viewBox attribute:
const pattern = document.querySelector("pattern");
console.log(pattern.viewBox.baseVal); // output: DOMRect {x: 0, y: 0, width: 50, height: 50}
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
viewBox |
1 | 12 | 3 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 3 | 1 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/SVGPatternElement/viewBox