diff --git a/d2renderers/d2svg/d2svg.go b/d2renderers/d2svg/d2svg.go
index afe1acd8d..2846c7587 100644
--- a/d2renderers/d2svg/d2svg.go
+++ b/d2renderers/d2svg/d2svg.go
@@ -868,7 +868,8 @@ func render3dHexagon(targetShape d2target.Shape) string {
func drawShape(writer io.Writer, targetShape d2target.Shape, sketchRunner *d2sketch.Runner) (labelMask string, err error) {
closingTag := ""
if targetShape.Link != "" {
- fmt.Fprintf(writer, ``, targetShape.Link)
+
+ fmt.Fprintf(writer, ``, svg.EscapeText(targetShape.Link))
closingTag += ""
}
// Opacity is a unique style, it applies to everything for a shape