diff --git a/app/main/views.py b/app/main/views.py
index aaddc1313bc251b68a47b370778e76932f6e55bb..5f4d2c7c5dd2b76b19ea61a786446c8f65298e30 100644
--- a/app/main/views.py
+++ b/app/main/views.py
@@ -60,6 +60,7 @@ def dashboard():
 def for_admins_only():
     users = User.query.order_by(User.username).all()
     items = [AdminUserItem(u.username, u.email, u.role_id, u.confirmed) for u in users]
-    table = AdminUserTable(items)
+    table = AdminUserTable(items).__html__()  # converts table object to html string
+    table = table.replace('tbody', 'tbody class="list"', 1)  # add class list to tbody element. Needed by list.js
     return render_template('main/admin.html.j2', title='Administration tools',
-                           table=table.__html__())
+                           table=table)
diff --git a/app/tables.py b/app/tables.py
index 44c6401e74c638fac7cac634a42321788e7b47d3..ea967e3e4121aa1010b9aa740729e394dce0a17d 100644
--- a/app/tables.py
+++ b/app/tables.py
@@ -6,10 +6,10 @@ class AdminUserTable(Table):
     Declares the table describing colum by column.
     """
     classes = ['highlight', 'responsive-table']
-    username = Col('Username')
-    email = Col('Email')
-    role_id = Col('Role')
-    confirmed = Col('Confrimed Status')
+    username = Col('Username', column_html_attrs={'class': 'username'})
+    email = Col('Email', column_html_attrs={'class': 'email'})
+    role_id = Col('Role', column_html_attrs={'class': 'role'})
+    confirmed = Col('Confrimed Status', column_html_attrs={'class': 'confirmed'})
 
 
 class AdminUserItem(object):
diff --git a/app/templates/main/admin.html.j2 b/app/templates/main/admin.html.j2
index 1420ca4c5c85222de0bc1883c3cacdd4c1af62bb..c56732035f4c6743bdd66730e344a20ef9efd011 100644
--- a/app/templates/main/admin.html.j2
+++ b/app/templates/main/admin.html.j2
@@ -5,8 +5,24 @@
   <div class="card large">
     <div class="card-content">
       <span class="card-title">User list</span>
-      {{ table }}
+      <div id="users">
+        <div class="input-field">
+          <i class="material-icons prefix">search</i>
+          <input id="search-corpus" class="search" type="text"></input>
+          <label for="search-corpus">Search users</label>
+        </div>
+        {{ table }}
+        <ul class="pagination"></ul>
+      </div>
     </div>
   </div>
 </div>
+<script type="text/javascript">
+var options = {
+  valueNames: ['username', 'email', 'role', 'confirmed'],
+  page: 3,
+  pagination: true
+};
+var userList = new List('users', options);
+</script>
 {% endblock %}