The <a> SVG element creates a hyperlink to other web pages, files, locations within the same page, email addresses, or any other URL.

In SVG, the <a> element is a container, meaning, you can create a link around text, like in HTML, but you can also create a link around any shape.

<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
  <!-- A link around a shape -->
  <a href="https://developer.mozilla.org/docs/Web/SVG/Element/circle">
    <circle cx="50" cy="40" r="35"/>

  <!-- A link around a text -->
  <a href="https://developer.mozilla.org/docs/Web/SVG/Element/circle">
    <text x="50" y="90" text-anchor="middle">
/* As SVG does not provide a default visual style for links,
   it's considered best practice to add some */

@namespace svgns url(http://www.w3.org/2000/svg);

svgns|a {
  cursor: pointer;

svgns|a text {
  fill: blue; /* Even for text, SVG use fill over color */
  text-decoration: underline;

svgns|a:hover, svgns|a:active {
  outline: dotted 1px blue;

Since this element shares its tag name with HTML's <a> element, selecting "a" with CSS or querySelector may apply to the wrong kind of element. Try the @namespace rule to distinguish between the two.


download Experimental
This attribute instructs browsers to download a URL instead of navigating to it, so the user will be prompted to save it as a local file.
Value type: <string> ; Default value: none; Animatable: no
href (en-US)
This attribute contains the URL or URL fragment that the hyperlink points to.
Value type: <URL> ; Default value: none; Animatable: yes
This attribute contains the URL or URL fragment that the hyperlink points to.
Value type: <string> ; Default value: none; Animatable: yes
ping Experimental
This attribute contains a space-separated list of URLs to which, when the hyperlink is followed, POST requests with the body PING will be sent by the browser (in the background). Typically used for tracking.  For a more widely-supported feature addressing the same use cases, see Navigator.sendBeacon().
Value type: <list-of-URLs> ; Default value: none; Animatable: no
referrerpolicy Experimental
This attribute indicates which referrer to send when fetching the URL.
Value typeno-referrer|no-referrer-when-downgrade|same-origin|origin|strict-origin|origin-when-cross-origin|strict-origin-when-cross-origin|unsafe-url ; Default value: none; Animatable: no
rel Experimental
This attribute specifies the relationship of the target object to the link object.
Value type: <list-of-Link-Types> ; Default value: none; Animatable: yes
target (en-US)
This attribute specifies where to display the linked URL.
Value type_self|_parent|_top|_blank|<name> ; Default value: _self; Animatable: yes
This attribute specifies the media type in the form of a MIME type for the linked URL.
Value type: <string> ; Default value: none; Animatable: yes
xlink:href (en-US) Deprecated SVG 2
This attribute contains the URL or URL fragment that the hyperlink points to.
Value type: <URL> ; Default value: none; Animatable: yes

Global attributes

Core Attributes
Most notably: id (en-US), lang (en-US), tabindex (en-US)
Styling Attributes
class (en-US), style (en-US)
Conditional Processing Attributes
Most notably: requiredExtensions, systemLanguage (en-US)
Event Attributes
Global event attributes, Document element event attributes, Graphical event attributes
Presentation Attributes
Most notably: clip-path (en-US), clip-rule (en-US), color (en-US), color-interpolation (en-US), color-rendering, cursor (en-US), display (en-US), fill (en-US), fill-opacity (en-US), fill-rule (en-US), filter (en-US), mask (en-US), opacity (en-US), pointer-events (en-US), shape-rendering (en-US), stroke (en-US), stroke-dasharray (en-US), stroke-dashoffset (en-US), stroke-linecap (en-US), stroke-linejoin (en-US), stroke-miterlimit (en-US), stroke-opacity (en-US), stroke-width (en-US), transform (en-US), vector-effect (en-US), visibility (en-US)
Most notably: xlink:title (en-US)
ARIA Attributes
aria-activedescendant, aria-atomic, aria-autocomplete, aria-busy, aria-checked, aria-colcount, aria-colindex, aria-colspan, aria-controls, aria-current, aria-describedby, aria-details, aria-disabled, aria-dropeffect, aria-errormessage, aria-expanded, aria-flowto, aria-grabbed, aria-haspopup, aria-hidden, aria-invalid, aria-keyshortcuts, aria-label, aria-labelledby, aria-level, aria-live, aria-modal, aria-multiline, aria-multiselectable, aria-orientation, aria-owns, aria-placeholder, aria-posinset, aria-pressed, aria-readonly, aria-relevant, aria-required, aria-roledescription, aria-rowcount, aria-rowindex, aria-rowspan, aria-selected, aria-setsize, aria-sort, aria-valuemax, aria-valuemin, aria-valuenow, aria-valuetext, role

Usage notes


Browser compatibility

BCD tables only load in the browser