diff --git a/swh/web/ui/templates/directory.html b/swh/web/ui/templates/directory.html
index 4cb9eca4cdb9fd9bd0111bff0391eb8dc6bafadc..e5955f28c0c9a21533bb837c9372a3a20d304a9b 100644
--- a/swh/web/ui/templates/directory.html
+++ b/swh/web/ui/templates/directory.html
@@ -4,7 +4,7 @@
 {{ message }}
 {% if ls is not none %}
   {% for e in files %}
-    <div><p><a href="{{e.link}}">{{ e.name }}</a></p></div>
+    <div><p><a class="link{{e.type}}" href="{{e.link}}">{{ e.name }}</a></p></div>
   {% endfor %}
 {% endif %}
 {% endblock %}
diff --git a/swh/web/ui/tests/test_utils.py b/swh/web/ui/tests/test_utils.py
index a59e8768c6f156829f58f872103a81d909515845..963ce5178c25448939bc3fdd094af23eb0333787 100644
--- a/swh/web/ui/tests/test_utils.py
+++ b/swh/web/ui/tests/test_utils.py
@@ -105,11 +105,14 @@ class UtilsTestCase(unittest.TestCase):
                    'name': 'some-other-dirname'}]
 
         expected_output = [{'link': '/path/to/url/dir/123',
-                            'name': 'some-dir-name'},
+                            'name': 'some-dir-name',
+                            'type': 'dir'},
                            {'link': '/path/to/url/file/654',
-                            'name': 'some-filename'},
+                            'name': 'some-filename',
+                            'type': 'file'},
                            {'link': '/path/to/url/dir/987',
-                            'name': 'some-other-dirname'}]
+                            'name': 'some-other-dirname',
+                            'type': 'dir'}]
 
         # when
         actual_outputs = utils.prepare_directory_listing(inputs)
diff --git a/swh/web/ui/utils.py b/swh/web/ui/utils.py
index 0c39b53a7c0f4d702f6c3e72e688338f379e9f47..f6a75feb0bab03489d0909338e083af33582ed55 100644
--- a/swh/web/ui/utils.py
+++ b/swh/web/ui/utils.py
@@ -39,14 +39,14 @@ def prepare_directory_listing(files):
     """
     ls = []
     for entry in files:
-        new_entry = {}
+        new_entry = {'name': entry['name'],
+                     'type': entry['type']}
         if entry['type'] == 'dir':
             new_entry['link'] = flask.url_for('browse_directory',
                                               sha1_git=entry['target'])
         else:
             new_entry['link'] = flask.url_for('show_content',
                                               q=entry['sha1'])
-        new_entry['name'] = entry['name']
         ls.append(new_entry)
 
     return ls