Back to application components
Pagination
Responsive pagination components for page navigation in web applications, dashboards, and data tables with numbered links and previous/next buttons.
3/3 Dark Mode Updated: Jul 4, 2026
<nav aria-label="Pagination">
<ul class="flex justify-center gap-1 text-gray-900">
<li>
<a
href="#"
class="grid size-8 place-content-center rounded border border-gray-200 transition-colors hover:bg-gray-50 rtl:rotate-180"
aria-label="Previous page"
>
<svg
aria-hidden="true"
xmlns="http://www.w3.org/2000/svg"
class="size-4"
viewBox="0 0 20 20"
fill="currentColor"
>
<path
fill-rule="evenodd"
d="M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z"
clip-rule="evenodd"
/>
</svg>
</a>
</li>
<li>
<a
href="#"
class="block size-8 rounded border border-gray-200 text-center text-sm/8 font-medium transition-colors hover:bg-gray-50"
>
1
</a>
</li>
<li
class="block size-8 rounded border border-indigo-600 bg-indigo-600 text-center text-sm/8 font-medium text-white"
aria-current="page"
>
2
</li>
<li>
<a
href="#"
class="block size-8 rounded border border-gray-200 text-center text-sm/8 font-medium transition-colors hover:bg-gray-50"
>
3
</a>
</li>
<li>
<a
href="#"
class="block size-8 rounded border border-gray-200 text-center text-sm/8 font-medium transition-colors hover:bg-gray-50"
>
4
</a>
</li>
<li>
<a
href="#"
class="grid size-8 place-content-center rounded border border-gray-200 transition-colors hover:bg-gray-50 rtl:rotate-180"
aria-label="Next page"
>
<svg
aria-hidden="true"
xmlns="http://www.w3.org/2000/svg"
class="size-4"
viewBox="0 0 20 20"
fill="currentColor"
>
<path
fill-rule="evenodd"
d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
clip-rule="evenodd"
/>
</svg>
</a>
</li>
</ul>
</nav><nav aria-label="Pagination">
<ul class="flex justify-center gap-1 text-gray-900 dark:text-white">
<li>
<a
href="#"
class="grid size-8 place-content-center rounded border border-gray-200 transition-colors hover:bg-gray-50 rtl:rotate-180 dark:border-gray-700 dark:hover:bg-gray-800"
aria-label="Previous page"
>
<svg
aria-hidden="true"
xmlns="http://www.w3.org/2000/svg"
class="size-4"
viewBox="0 0 20 20"
fill="currentColor"
>
<path
fill-rule="evenodd"
d="M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z"
clip-rule="evenodd"
/>
</svg>
</a>
</li>
<li>
<a
href="#"
class="block size-8 rounded border border-gray-200 text-center text-sm/8 font-medium transition-colors hover:bg-gray-50 dark:border-gray-700 dark:hover:bg-gray-800"
>
1
</a>
</li>
<li
class="block size-8 rounded border border-indigo-600 bg-indigo-600 text-center text-sm/8 font-medium text-white"
aria-current="page"
>
2
</li>
<li>
<a
href="#"
class="block size-8 rounded border border-gray-200 text-center text-sm/8 font-medium transition-colors hover:bg-gray-50 dark:border-gray-700 dark:hover:bg-gray-800"
>
3
</a>
</li>
<li>
<a
href="#"
class="block size-8 rounded border border-gray-200 text-center text-sm/8 font-medium transition-colors hover:bg-gray-50 dark:border-gray-700 dark:hover:bg-gray-800"
>
4
</a>
</li>
<li>
<a
href="#"
class="grid size-8 place-content-center rounded border border-gray-200 transition-colors hover:bg-gray-50 rtl:rotate-180 dark:border-gray-700 dark:hover:bg-gray-800"
aria-label="Next page"
>
<svg
aria-hidden="true"
xmlns="http://www.w3.org/2000/svg"
class="size-4"
viewBox="0 0 20 20"
fill="currentColor"
>
<path
fill-rule="evenodd"
d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
clip-rule="evenodd"
/>
</svg>
</a>
</li>
</ul>
</nav><nav aria-label="Pagination">
<ul class="flex justify-center gap-1 text-gray-900">
<li>
<a
href="#"
class="grid size-8 place-content-center rounded border border-gray-200 transition-colors hover:bg-gray-50 rtl:rotate-180"
aria-label="Previous page"
>
<svg
aria-hidden="true"
xmlns="http://www.w3.org/2000/svg"
class="size-4"
viewBox="0 0 20 20"
fill="currentColor"
>
<path
fill-rule="evenodd"
d="M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z"
clip-rule="evenodd"
/>
</svg>
</a>
</li>
<li>
<label for="Page">
<span class="sr-only"> Page </span>
<input
type="number"
id="Page"
value="2"
class="h-8 w-16 rounded border-gray-300 sm:text-sm"
/>
</label>
</li>
<li>
<a
href="#"
class="grid size-8 place-content-center rounded border border-gray-200 transition-colors hover:bg-gray-50 rtl:rotate-180"
aria-label="Next page"
>
<svg
aria-hidden="true"
xmlns="http://www.w3.org/2000/svg"
class="size-4"
viewBox="0 0 20 20"
fill="currentColor"
>
<path
fill-rule="evenodd"
d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
clip-rule="evenodd"
/>
</svg>
</a>
</li>
</ul>
</nav>Plugins: @tailwindcss/forms
<nav aria-label="Pagination">
<ul class="flex justify-center gap-1 text-gray-900 dark:text-white">
<li>
<a
href="#"
class="grid size-8 place-content-center rounded border border-gray-200 transition-colors hover:bg-gray-50 rtl:rotate-180 dark:border-gray-700 dark:hover:bg-gray-800"
aria-label="Previous page"
>
<svg
aria-hidden="true"
xmlns="http://www.w3.org/2000/svg"
class="size-4"
viewBox="0 0 20 20"
fill="currentColor"
>
<path
fill-rule="evenodd"
d="M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z"
clip-rule="evenodd"
/>
</svg>
</a>
</li>
<li>
<label for="Page">
<span class="sr-only"> Page </span>
<input
type="number"
id="Page"
value="2"
class="h-8 w-16 rounded border-gray-300 sm:text-sm dark:border-gray-600 dark:bg-gray-900 dark:text-white"
/>
</label>
</li>
<li>
<a
href="#"
class="grid size-8 place-content-center rounded border border-gray-200 transition-colors hover:bg-gray-50 rtl:rotate-180 dark:border-gray-700 dark:hover:bg-gray-800"
aria-label="Next page"
>
<svg
aria-hidden="true"
xmlns="http://www.w3.org/2000/svg"
class="size-4"
viewBox="0 0 20 20"
fill="currentColor"
>
<path
fill-rule="evenodd"
d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
clip-rule="evenodd"
/>
</svg>
</a>
</li>
</ul>
</nav>Plugins: @tailwindcss/forms
<nav aria-label="Pagination">
<ul class="flex justify-center gap-3 text-gray-900">
<li>
<a
href="#"
class="grid size-8 place-content-center rounded border border-gray-200 transition-colors hover:bg-gray-50 rtl:rotate-180"
aria-label="Previous page"
>
<svg
aria-hidden="true"
xmlns="http://www.w3.org/2000/svg"
class="size-4"
viewBox="0 0 20 20"
fill="currentColor"
>
<path
fill-rule="evenodd"
d="M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z"
clip-rule="evenodd"
/>
</svg>
</a>
</li>
<li class="text-sm/8 font-medium tracking-widest">2/12</li>
<li>
<a
href="#"
class="grid size-8 place-content-center rounded border border-gray-200 transition-colors hover:bg-gray-50 rtl:rotate-180"
aria-label="Next page"
>
<svg
aria-hidden="true"
xmlns="http://www.w3.org/2000/svg"
class="size-4"
viewBox="0 0 20 20"
fill="currentColor"
>
<path
fill-rule="evenodd"
d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
clip-rule="evenodd"
/>
</svg>
</a>
</li>
</ul>
</nav><nav aria-label="Pagination">
<ul class="flex justify-center gap-3 text-gray-900 dark:text-white">
<li>
<a
href="#"
class="grid size-8 place-content-center rounded border border-gray-200 transition-colors hover:bg-gray-50 rtl:rotate-180 dark:border-gray-700 dark:hover:bg-gray-800"
aria-label="Previous page"
>
<svg
aria-hidden="true"
xmlns="http://www.w3.org/2000/svg"
class="size-4"
viewBox="0 0 20 20"
fill="currentColor"
>
<path
fill-rule="evenodd"
d="M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z"
clip-rule="evenodd"
/>
</svg>
</a>
</li>
<li class="text-sm/8 font-medium tracking-widest">2/12</li>
<li>
<a
href="#"
class="grid size-8 place-content-center rounded border border-gray-200 transition-colors hover:bg-gray-50 rtl:rotate-180 dark:border-gray-700 dark:hover:bg-gray-800"
aria-label="Next page"
>
<svg
aria-hidden="true"
xmlns="http://www.w3.org/2000/svg"
class="size-4"
viewBox="0 0 20 20"
fill="currentColor"
>
<path
fill-rule="evenodd"
d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
clip-rule="evenodd"
/>
</svg>
</a>
</li>
</ul>
</nav>