<pattern>

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

* Some parts of this feature may have varying levels of support.

The <pattern> SVG element defines a graphics object which can be redrawn at repeated x- and y-coordinate intervals ("tiled") to cover an area.

The <pattern> is referenced by the fill and/or stroke attributes on other graphics elements to fill or stroke those elements with the referenced pattern.

Usage context

Attributes

height

This attribute determines the height of the pattern tile. Value type: <length>; Default value: 0; Animatable: yes

href

This attribute reference a template pattern that provides default values for the <pattern> attributes. Value type: <URL>; Default value: none; Animatable: yes

patternContentUnits

This attribute defines the coordinate system for the contents of the <pattern>. Value type: userSpaceOnUse | objectBoundingBox; Default value: userSpaceOnUse; Animatable: yes

Note: This attribute has no effect if a viewBox attribute is specified on the <pattern> element.

patternTransform

This attribute contains the definition of an optional additional transformation from the pattern coordinate system onto the target coordinate system. Value type: <transform-list>; Default value: identity transform; Animatable: yes

patternUnits

This attribute defines the coordinate system for attributes x, y, width, and height. Value type: userSpaceOnUse | objectBoundingBox; Default value: objectBoundingBox; Animatable: yes

preserveAspectRatio

This attribute defines how the SVG fragment must be deformed if it is embedded in a container with a different aspect ratio. Value type: (none | xMinYMin | xMidYMin | xMaxYMin | xMinYMid | xMidYMid | xMaxYMid | xMinYMax | xMidYMax | xMaxYMax) (meet | slice)?; Default value: xMidYMid meet; Animatable: yes

viewBox

This attribute defines the bound of the SVG viewport for the pattern fragment. Value type: <list-of-numbers>; Default value: none; Animatable: yes

width

This attribute determines the width of the pattern tile. Value type: <length>; Default value: 0; Animatable: yes

x

This attribute determines the x coordinate shift of the pattern tile. Value type: <length>; Default value: 0; Animatable: yes

xlink:href Deprecated

This attribute references a template pattern that provides default values for the <pattern> attributes. Value type: <URL>; Default value: none; Animatable: yes

Note: For browsers implementing href, if both href and xlink:href are set, xlink:href will be ignored and only href will be used.

y

This attribute determines the y coordinate shift of the pattern tile. Value type: <length>; Default value: 0; Animatable: yes

DOM Interface

This element implements the SVGPatternElement interface.

Examples

html
<svg viewBox="0 0 230 100" xmlns="http://www.w3.org/2000/svg">
  <defs>
    <pattern id="star" viewBox="0,0,10,10" width="10%" height="10%">
      <polygon points="0,0 2,5 0,10 5,8 10,10 8,5 10,0 5,2" />
    </pattern>
  </defs>

  <circle cx="50" cy="50" r="50" fill="url(#star)" />
  <circle
    cx="180"
    cy="50"
    r="40"
    fill="none"
    stroke-width="20"
    stroke="url(#star)" />
</svg>

Specifications

Specification
Scalable Vector Graphics (SVG) 2
# PatternElement

Browser compatibility