diff --git a/climbing.json b/climbing.json
new file mode 100644
index 000000000..1ffe33dea
--- /dev/null
+++ b/climbing.json
@@ -0,0 +1,76 @@
+{
+ "type": "overpass",
+ "name": {
+ "en": "Climbing"
+ },
+ "query": {
+ "12": [
+ "(",
+ "nwr[sport~\"^(.*;|)climbing(|;.*)$\"];",
+ "nwr[highway=via_ferrata];",
+ "nwr[climbing~\"^(route|crag|boulder)$\"];",
+ "nwr[~\"^climbing:\"~\"^(yes|[0-9]+)$\"];",
+ ")"
+ ],
+ "16": [
+ "(",
+ "nwr[sport~\"^(.*;|)climbing(|;.*)$\"];",
+ "nwr[highway=via_ferrata];",
+ "nwr[climbing];",
+ "nwr[~\"^climbing:\"~\"^(yes|[0-9]+)$\"];",
+ ")"
+ ]
+ },
+ "feature": {
+ "description": [
+ "{% set dash = false %}",
+ "{% if tags.natural %}",
+ " {{ tagTransList('natural', tags.natural) }}",
+ " {% set dash=true %}",
+ "{% elseif tags.leisure %}",
+ " {% if dash %} - {% endif %}",
+ " {{ tagTransList('leisure', tags.leisure) }}",
+ " {% set dash=true %}",
+ "{% endif %}",
+ "",
+ "{% if tags.highway == 'via_ferrata' %}",
+ " {% if dash %} - {% endif %}",
+ " {{ tagTrans('highway', 'via_ferrata') }}",
+ " {% set dash=true %}",
+ "{% endif %}",
+ "",
+ "{% if tags.climbing and tags.climbing != 'yes' %}",
+ " {% if dash %} - {% endif %}",
+ " {{ tagTransList('climbing', tags.climbing) }}",
+ "{% endif %}"
+ ],
+ "body": [
+ "
",
+ " {% if attribute(tags, 'ele') %}- {{ keyTrans('ele') }}: {{ tags.ele }}m
{% endif %}",
+ " {% if attribute(tags, 'climbing:length') %}- {{ keyTrans('climbing:length') }}: {{ attribute(tags, 'climbing:length') }}
{% endif %}",
+ " {% if attribute(tags, 'climbing:length:min') or attribute(tags, 'climbing:length:max') %}- {{ keyTrans('climbing:length') }}: {{ attribute(tags, 'climbing:length:min') }} - {{ attribute(tags, 'climbing:length:max') }}
{% endif %}",
+ " {% if attribute(tags, 'climbing:grade:uiaa') or attribute(tags, 'climbing:grade:uiaa:min') or attribute(tags, 'climbing:grade:uiaa:max ') %}- {{ keyTrans('climbing:grade:uiaa') }}: {% if attribute(tags, 'climbing:grade:uiaa:min') or attribute(tags, 'climbing:grade:uiaa:max ') %}{{ attribute(tags, 'climbing:grade:uiaa:min') }} - {{ attribute(tags, 'climbing:grade:uiaa:max') }}{% else %}{{ attribute(tags, 'climbing:grade:uiaa') }}{% endif %}
{% endif %}",
+ " {% if attribute(tags, 'climbing:grade:UIAA') or attribute(tags, 'climbing:grade:UIAA:min') or attribute(tags, 'climbing:grade:UIAA:max ') %}- {{ keyTrans('climbing:grade:uiaa') }}: {% if attribute(tags, 'climbing:grade:UIAA:min') or attribute(tags, 'climbing:grade:UIAA:max ') %}{{ attribute(tags, 'climbing:grade:UIAA:min') }} - {{ attribute(tags, 'climbing:grade:UIAA:max') }}{% else %}{{ attribute(tags, 'climbing:grade:UIAA') }}{% endif %}
{% endif %}",
+ " {% if attribute(tags, 'climbing:grade:french') or attribute(tags, 'climbing:grade:french:min') or attribute(tags, 'climbing:grade:french:max ') %}- {{ keyTrans('climbing:grade:french') }}: {% if attribute(tags, 'climbing:grade:french:min') or attribute(tags, 'climbing:grade:french:max ') %}{{ attribute(tags, 'climbing:grade:french:min') }} - {{ attribute(tags, 'climbing:grade:french:max') }}{% else %}{{ attribute(tags, 'climbing:grade:french') }}{% endif %}
{% endif %}",
+ " {% if attribute(tags, 'climbing:grade:saxon') or attribute(tags, 'climbing:grade:saxon:min') or attribute(tags, 'climbing:grade:saxon:max ') %}- {{ keyTrans('climbing:grade:saxon') }}: {% if attribute(tags, 'climbing:grade:saxon:min') or attribute(tags, 'climbing:grade:saxon:max ') %}{{ attribute(tags, 'climbing:grade:saxon:min') }} - {{ attribute(tags, 'climbing:grade:saxon:max') }}{% else %}{{ attribute(tags, 'climbing:grade:saxon') }}{% endif %}
{% endif %}",
+ " {% if attribute(tags, 'climbing:grade:polish') or attribute(tags, 'climbing:grade:polish:min') or attribute(tags, 'climbing:grade:polish:max ') %}- {{ keyTrans('climbing:grade:polish') }}: {% if attribute(tags, 'climbing:grade:polish:min') or attribute(tags, 'climbing:grade:polish:max ') %}{{ attribute(tags, 'climbing:grade:polish:min') }} - {{ attribute(tags, 'climbing:grade:polish:max') }}{% else %}{{ attribute(tags, 'climbing:grade:polish') }}{% endif %}
{% endif %}",
+ " {% if attribute(tags, 'climbing:bolted') %}- {{ keyTrans('climbing:bolted') }}: {{ attribute(tags, 'climbing:bolted') }}
{% endif %}",
+ " {% if attribute(tags, 'climbing:orientation') %}- {{ keyTrans('climbing:orientation') }}: {{ tagTransList('direction', attribute(tags, 'climbing:orientation')) }}
{% endif %}",
+ " {% if attribute(tags, 'climbing:quality') %}- {{ keyTrans('climbing:quality') }}: {{ attribute(tags, 'climbing:quality') }}
{% endif %}",
+ " {% if attribute(tags, 'climbing:rock') %}- {{ keyTrans('climbing:rock') }}: {{ tagTransList('material', attribute(tags, 'climbing:rock')) }}
{% endif %}",
+ " {% if attribute(tags, 'climbing:routes') %}- {{ keyTrans('climbing:routes') }}: {{ attribute(tags, 'climbing:routes') }}
{% endif %}",
+ " {% if tags.via_ferrata_scale %}- {{ keyTrans('via_ferrata_scale') }}: {{ tags.via_ferrata_scale }}
{% endif %}",
+ " {% if attribute(tags, 'climbing:boulder') %}- {{ keyTrans('climbing:boulder') }}: {{ attribute(tags, 'climbing:boulder') }}
{% endif %}",
+ " {% if attribute(tags, 'climbing:sport') %}- {{ keyTrans('climbing:sport') }}: {{ attribute(tags, 'climbing:sport') }}
{% endif %}",
+ " {% if attribute(tags, 'climbing:speed') %}- {{ keyTrans('climbing:speed') }}: {{ attribute(tags, 'climbing:speed') }}
{% endif %}",
+ " {% if attribute(tags, 'climbing:toprope') %}- {{ keyTrans('climbing:toprope') }}: {{ attribute(tags, 'climbing:toprope') }}
{% endif %}",
+ " {% if attribute(tags, 'climbing:trad') %}- {{ keyTrans('climbing:trad') }}: {{ attribute(tags, 'climbing:trad') }}
{% endif %}",
+ " {% if attribute(tags, 'climbing:multipitch') %}- {{ keyTrans('climbing:multipitch') }}: {{ attribute(tags, 'climbing:multipitch') }}
{% endif %}",
+ " {% if attribute(tags, 'climbing:ice') %}- {{ keyTrans('climbing:ice') }}: {{ attribute(tags, 'climbing:ice') }}
{% endif %}",
+ " {% if attribute(tags, 'climbing:mixed') %}- {{ keyTrans('climbing:mixed') }}: {{ attribute(tags, 'climbing:mixed') }}
{% endif %}",
+ " {% if attribute(tags, 'climbing:deepwater') %}- {{ keyTrans('climbing:deepwater') }}: {{ attribute(tags, 'climbing:deepwater') }}
{% endif %}",
+ " {% if attribute(tags, 'climbing:summit_log') %}- {{ keyTrans('climbing:quality') }}: {{ attribute(tags, 'climbing:quality') }}
{% endif %}",
+ "
"
+ ]
+ }
+}
diff --git a/outdoor.json b/outdoor.json
index eb3c29019..d6b7aa762 100644
--- a/outdoor.json
+++ b/outdoor.json
@@ -10,6 +10,9 @@
"subCategories": [
{
"id": "mtb-routes"
+ },
+ {
+ "id": "climbing"
}
]
}