diff --git a/modules/markup/common/footnote.go b/modules/markup/common/footnote.go
index ad4cd7f2e1..9baf8a4998 100644
--- a/modules/markup/common/footnote.go
+++ b/modules/markup/common/footnote.go
@@ -34,7 +34,7 @@ func CleanValue(value []byte) []byte {
 	needsDash := false
 	for _, r := range rs {
 		switch {
-		case unicode.IsLetter(r) || unicode.IsNumber(r):
+		case unicode.IsLetter(r) || unicode.IsNumber(r) || r == '_':
 			if needsDash && len(result) > 0 {
 				result = append(result, '-')
 			}