diff --git a/idutils/normalizers.py b/idutils/normalizers.py
index a4c8b07..b1ef1ab 100644
--- a/idutils/normalizers.py
+++ b/idutils/normalizers.py
@@ -54,11 +54,8 @@ def normalize_orcid(val):
 
 def normalize_gnd(val):
     """Normalize a GND identifier."""
-    if val.startswith(gnd_resolver_url):
-        val = val[len(gnd_resolver_url) :]
-    if val.lower().startswith("gnd:"):
-        val = val[len("gnd:") :]
-    return "gnd:{0}".format(val)
+    m = gnd_regexp.match(val)
+    return f"gnd:{m.group(2)}"
 
 
 def normalize_urn(val):
diff --git a/idutils/utils.py b/idutils/utils.py
index 86f99c0..bdf26b8 100644
--- a/idutils/utils.py
+++ b/idutils/utils.py
@@ -82,8 +82,8 @@
 """
 
 gnd_regexp = re.compile(
-    r"(gnd:|GND:)?("
-    r"(1|10)\d{7}[0-9X]|"
+    r"(gnd:|GND:|https?://d-nb\.info/gnd/|d-nb\.info/gnd/)?("
+    r"1[012]?\d{7}[0-9X]|"
     r"[47]\d{6}-\d|"
     r"[1-9]\d{0,7}-[0-9X]|"
     r"3\d{7}[0-9X]"
@@ -91,7 +91,6 @@
 )
 """See https://www.wikidata.org/wiki/Property:P227."""
 
-gnd_resolver_url = "http://d-nb.info/gnd/"
 
 urn_resolver_url = "https://nbn-resolving.org/"
 
diff --git a/idutils/validators.py b/idutils/validators.py
index df6e96f..d6d41d1 100644
--- a/idutils/validators.py
+++ b/idutils/validators.py
@@ -13,7 +13,6 @@
 
 """Utility file containing ID validators."""
 
-
 import unicodedata
 from urllib.parse import urlparse
 
@@ -237,9 +236,6 @@ def is_pmcid(val):
 
 def is_gnd(val):
     """Test if argument is a GND Identifier."""
-    if val.startswith(gnd_resolver_url):
-        val = val[len(gnd_resolver_url) :]
-
     return gnd_regexp.match(val)