diff --git a/schilder2000/instance.py b/schilder2000/instance.py
index d869e36189cc8e98a29662e169dc494bb9dc837f..05139e84e5ca1b0966a6a8d7d9b0554e047b6132 100644
--- a/schilder2000/instance.py
+++ b/schilder2000/instance.py
@@ -18,13 +18,13 @@ bp = Blueprint(
 )
 
 
-@bp.route("/schild/<ident>.html")
+@bp.route("/schild/<uuid:ident>.html")
 def schild_html(ident):
     schild = db.get_or_404(Schild, ident)
     return bp.render_template(schild.template, schild=schild)
 
 
-@bp.route("/schild/<ident>.pdf")
+@bp.route("/schild/<uuid:ident>.pdf")
 def schild_pdf(ident):
     return render_pdf(url_for(".schild_html", ident=ident))
 
diff --git a/schilder2000/views.py b/schilder2000/views.py
index 3874f677d02f0875e17de0707996fff74f155fec..fa26e05842519cc40f3df22b13901b14ba46cf7f 100644
--- a/schilder2000/views.py
+++ b/schilder2000/views.py
@@ -38,7 +38,7 @@ def _do_schild_form(schild):
     return form
 
 
-@bp.route("/schild/<ident>", methods=["GET", "POST"])
+@bp.route("/schild/<uuid:ident>", methods=["GET", "POST"])
 def schild(ident):
     schild = db.get_or_404(Schild, ident)
     form = _do_schild_form(schild)
@@ -52,7 +52,7 @@ def schild(ident):
     )
 
 
-@bp.route("/schild/<ident>/print", methods=["POST"])
+@bp.route("/schild/<uuid:ident>/print", methods=["POST"])
 async def print(ident):
     form = PrintForm(request.form)
     form.printer.choices = list(app.config["PRINTERS"])