diff --git a/schilder2000/instance.py b/schilder2000/instance.py
index f74d22e9ad6bf054c7161037fff184a38b8723d5..978ed0ce932a2e7c7a989f595f040e5e5241a051 100644
--- a/schilder2000/instance.py
+++ b/schilder2000/instance.py
@@ -1,6 +1,6 @@
 from . import db
 from .models import Schild
-from .helpers import Blueprint
+from .helpers import Blueprint, get_template_attribute
 
 from flask import url_for
 
@@ -25,3 +25,20 @@ def schild_html(ident):
 @bp.route("/schild/<ident>.pdf")
 def schild_pdf(ident):
     return render_pdf(url_for(".schild_html", ident=ident))
+
+
+def list_templates():
+    schild = Schild()
+    loader = bp.jinja_loader
+    for t in loader.list_templates():
+        if t.startswith("_"):
+            continue
+        yield dict(
+            name=t,
+            description=get_template_attribute(
+                bp.real_template_name(t),
+                "description",
+                vars=dict(schild=schild),
+                default=None,
+            ),
+        )
diff --git a/schilder2000/templates/schild.html.j2 b/schilder2000/templates/schild.html.j2
index f70557106dbe46f6bb144db8ff3ea24691a109ba..8915deb7c68f0bf863b17d1ee67ecb0462468125 100644
--- a/schilder2000/templates/schild.html.j2
+++ b/schilder2000/templates/schild.html.j2
@@ -24,6 +24,13 @@
 		{%- for field in form -%}
 			{{ render_field(field) }}
 		{%- endfor -%}
+		<select name="template">
+			{%- for t in templates -%}
+				<option value="{{ t.name }}">
+					{{ t.description or t.name }}
+				</option>
+			{% endfor %}
+		</select>
 		<div class="box">
 			<input type="submit" value="Schild erstellen" />
 		</div>
diff --git a/schilder2000/views.py b/schilder2000/views.py
index 9738086a26c22d40fd55b161b5d5d7da9b8938ee..953afa3b75507e1ae6dc82e3d89da1c9787548ca 100644
--- a/schilder2000/views.py
+++ b/schilder2000/views.py
@@ -1,4 +1,5 @@
 from . import db
+from .instance import list_templates
 from .models import Schild
 
 from flask import Blueprint, render_template, request, redirect, url_for
@@ -30,7 +31,7 @@ def schild(ident):
             db.session.commit()
     else:
         form = SchildForm(obj=schild)
-    return render_template("schild.html.j2", schild=schild, form=form)
+    return render_template("schild.html.j2", schild=schild, form=form, templates=list_templates())
 
 
 @bp.route("/create", methods=["GET", "POST"])