diff --git a/app/Http/Controllers/BookController.php b/app/Http/Controllers/BookController.php
index c078aea47..eb9bf7aba 100644
--- a/app/Http/Controllers/BookController.php
+++ b/app/Http/Controllers/BookController.php
@@ -40,7 +40,7 @@ class BookController extends Controller
      */
     public function index()
     {
-        $books = $this->bookRepo->getAll();
+        $books = $this->bookRepo->getAllPaginated(10);
         return view('books/index', ['books' => $books]);
     }
 
diff --git a/app/Repos/BookRepo.php b/app/Repos/BookRepo.php
index aacf96b06..c94817eb3 100644
--- a/app/Repos/BookRepo.php
+++ b/app/Repos/BookRepo.php
@@ -11,7 +11,7 @@ class BookRepo
 
     /**
      * BookRepo constructor.
-     * @param Book $book
+     * @param Book     $book
      * @param PageRepo $pageRepo
      */
     public function __construct(Book $book, PageRepo $pageRepo)
@@ -30,6 +30,16 @@ class BookRepo
         return $this->book->all();
     }
 
+    /**
+     * Getas
+     * @param int $count
+     * @return mixed
+     */
+    public function getAllPaginated($count = 10)
+    {
+        return $this->book->orderBy('name', 'asc')->paginate($count);
+    }
+
     public function getBySlug($slug)
     {
         return $this->book->where('slug', '=', $slug)->first();
@@ -63,11 +73,11 @@ class BookRepo
     public function destroyBySlug($bookSlug)
     {
         $book = $this->getBySlug($bookSlug);
-        foreach($book->pages as $page) {
+        foreach ($book->pages as $page) {
             \Activity::removeEntity($page);
             $page->delete();
         }
-        foreach($book->chapters as $chapter) {
+        foreach ($book->chapters as $chapter) {
             \Activity::removeEntity($chapter);
             $chapter->delete();
         }
@@ -83,7 +93,7 @@ class BookRepo
     public function doesSlugExist($slug, $currentId = false)
     {
         $query = $this->book->where('slug', '=', $slug);
-        if($currentId) {
+        if ($currentId) {
             $query = $query->where('id', '!=', $currentId);
         }
         return $query->count() > 0;
@@ -94,7 +104,7 @@ class BookRepo
         $originalSlug = Str::slug($name);
         $slug = $originalSlug;
         $count = 2;
-        while($this->doesSlugExist($slug, $currentId)) {
+        while ($this->doesSlugExist($slug, $currentId)) {
             $slug = $originalSlug . '-' . $count;
             $count++;
         }
diff --git a/resources/assets/sass/_lists.scss b/resources/assets/sass/_lists.scss
index f90c7e2ba..c2bfb38e3 100644
--- a/resources/assets/sass/_lists.scss
+++ b/resources/assets/sass/_lists.scss
@@ -214,4 +214,42 @@
   .left + .right {
     margin-left: 30px + $-s;
   }
+}
+
+ul.pagination {
+  display: inline-block;
+  list-style: none;
+  margin: $-m 0;
+  li {
+    float: left;
+  }
+  li:first-child {
+    a, span {
+      border-radius: 3px 0 0 3px;
+    }
+  }
+  li:last-child {
+    a, span {
+      border-radius: 0 3px 3px 0;
+    }
+  }
+  a, span {
+    display: block;
+    padding: $-xxs $-s;
+    border: 1px solid #CCC;
+    margin-left: -1px;
+    color: #888;
+    user-select: none;
+    &.disabled {
+      cursor: not-allowed;
+    }
+  }
+  li.active span {
+    background-color: rgba($primary, 0.8);
+    color: #EEE;
+    border-color: rgba($primary, 0.8);
+  }
+  a {
+    color: $primary;
+  }
 }
\ No newline at end of file
diff --git a/resources/views/books/index.blade.php b/resources/views/books/index.blade.php
index c536a2059..8163f5105 100644
--- a/resources/views/books/index.blade.php
+++ b/resources/views/books/index.blade.php
@@ -27,6 +27,7 @@
                         @include('books/list-item', ['book' => $book])
                         <hr>
                     @endforeach
+                    {!! $books->render() !!}
                 @else
                     <p class="text-muted">No books have been created.</p>
                     <a href="/books/create" class="text-pos"><i class="zmdi zmdi-edit"></i>Create one now</a>