Skip to main content
HTML Validation

Bad value “https://www.w3.org/1999/xlink” for the attribute “xmlns:link” (only “http://www.w3.org/1999/xlink” permitted here).

About This HTML Issue

XML namespaces are identified by URI strings that act as unique names. They are never fetched or loaded by the browser — they simply serve as an identifier that must match exactly what the specification defines. The XLink namespace has been defined as http://www.w3.org/1999/xlink since its inception, and changing the protocol to https creates a completely different string that parsers and validators do not recognize.

It’s a common and understandable mistake. Developers are trained to prefer https:// URLs everywhere for security, and many linting tools or habits may encourage automatically converting http:// to https://. However, namespace URIs are a special case where this rule does not apply. The string is purely declarative — no network request is made, and no security benefit comes from using https.

It’s also worth noting that the xmlns:xlink attribute is largely obsolete in modern HTML. When SVG is embedded directly in an HTML5 document, browsers automatically handle namespace resolution. You only need xmlns:xlink when serving SVG as standalone XML (with an .svg file or application/xhtml+xml content type). In most cases, you can simply remove the attribute altogether and use xlink:href or, even better, the plain href attribute, which is now supported on SVG elements like <use>, <image>, and <a>.

Examples

Incorrect: using https:// in the namespace URI

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="https://www.w3.org/1999/xlink">
  <use xlink:href="#icon-star"></use>
</svg>

This triggers the validation error because https://www.w3.org/1999/xlink does not match the required namespace identifier.

Fixed: using the correct http:// namespace URI

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
  <use xlink:href="#icon-star"></use>
</svg>

Preferred: removing the namespace and using plain href

In HTML5, you can drop the xmlns:xlink declaration entirely and use the standard href attribute instead of xlink:href:

<svg xmlns="http://www.w3.org/2000/svg">
  <use href="#icon-star"></use>
</svg>

This is the cleanest approach for inline SVG in modern HTML documents. The xlink:href attribute is deprecated in SVG 2, and all modern browsers support plain href on SVG linking elements.

Find issues like this automatically

Rocket Validator scans thousands of pages in seconds, detecting HTML issues across your entire site.

Help us improve our guides

Was this guide helpful?

Ready to validate your sites?
Start your free trial today.