Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

SVG supports the built-in XML xml:space attribute to handle whitespace characters inside elements. Child elements inside an element may also have an xml:space attribute that overrides the parent's one.

Note: Instead of using the xml:space attribute, use the white-space CSS property.

This attribute influences how browsers parse text content and therefore changes the way the DOM is built. Therefore, changing this attribute's value through the DOM API may have no effect.


You can use this attribute with any SVG element.

Usage notes

Value default | preserve
Default value default
Animatable No

With this value set, whitespace characters will be processed in this order:

  1. All newline characters are removed.
  2. All tab characters are converted into space characters.
  3. All leading and trailing space characters are removed.
  4. All contiguous space characters are collapsed into a single space character.

This value tells the user agent to convert all newline and tab characters into spaces. Then, it draws all space characters (including leading, trailing and multiple consecutive space characters).

For example, the string "a   b" (three spaces between "a" and "b") separates "a" and "b" more than "a b" (one space between "a" and "b").


<svg viewBox="0 0 160 50" xmlns="http://www.w3.org/2000/svg">
  <text y="20" xml:space="default">    Default    spacing</text>
  <text y="40" xml:space="preserve">    Preserved    spacing</text>


Scalable Vector Graphics (SVG) 2
# WhitespaceProcessingXMLSpaceAttribute

Browser compatibility

BCD tables only load in the browser