diff --git a/shared/templates/styleguide/2.3.x/pagination.html b/shared/templates/styleguide/2.3.x/pagination.html
index c6da34ae77e583161f097b7ea8e87cb1477bdde3..3839395367520003c0a47ee468298ebf9eb69894 100644
--- a/shared/templates/styleguide/2.3.x/pagination.html
+++ b/shared/templates/styleguide/2.3.x/pagination.html
@@ -1,4 +1,4 @@
-{% load wagtailcore_tags %}
+{% load wagtailcore_tags shared_tags %}
 
 <div class="pagination-container">
   <nav class="pagination space-x-1">
@@ -6,15 +6,15 @@
     {% if paginator.has_previous %}
     <a href="{% pageurl page %}?page={{ paginator.previous_page_number }}{{ extra_query }}" class="btn btn--icon btn--grey-125 btn--hoveractive btn--to-black btn--condensed btn--inverted-icon">
       <div class="btn__body-wrap">
-        <div class="btn__body ">předchozí</div>
+        <div class="btn__body ">Předchozí</div>
         <div class="btn__icon ">
           <i class="ico--chevron-left"></i>
         </div>
       </div>
     </a>
     {% endif %}
-
-    {% for i in paginator.paginator.page_range %}
+    {% get_pagination_range paginator.number paginator.paginator.page_range as pagination_range %}
+    {% for i in pagination_range %}
       {% if i == paginator.number %}
       <a href="{% pageurl page %}?page={{ i }}{{ extra_query }}" class="btn btn--grey-500 btn--condensed hidden md:inline-block">
       {% else %}
@@ -27,7 +27,7 @@
     {% if paginator.has_next %}
     <a href="{% pageurl page %}?page={{ paginator.next_page_number }}{{ extra_query }}" class="btn btn--icon btn--grey-125 btn--hoveractive btn--to-black btn--condensed">
       <div class="btn__body-wrap">
-        <div class="btn__body ">další</div>
+        <div class="btn__body ">Další</div>
         <div class="btn__icon ">
           <i class="ico--chevron-right"></i>
         </div>
diff --git a/shared/templatetags/shared_tags.py b/shared/templatetags/shared_tags.py
new file mode 100644
index 0000000000000000000000000000000000000000..a96e7f1b1414cda9abe21d0f0b8efe2c3bcf60ae
--- /dev/null
+++ b/shared/templatetags/shared_tags.py
@@ -0,0 +1,20 @@
+from django import template
+
+register = template.Library()
+
+
+@register.simple_tag
+def get_pagination_range(current_page: int, all_page_range: range):
+    surrounding_count = 2
+    if current_page > surrounding_count:
+        if current_page + surrounding_count <= all_page_range[-1]:
+            return range(
+                current_page - surrounding_count, current_page + surrounding_count + 1
+            )
+        else:
+            return range(current_page - surrounding_count, all_page_range[-1] + 1)
+    else:
+        if current_page + surrounding_count <= all_page_range[-1]:
+            return range(all_page_range[0], current_page + surrounding_count + 1)
+        else:
+            return range(all_page_range[0], all_page_range[-1] + 1)