diff --git a/km3io/utils/kprinttree.py b/km3io/utils/kprinttree.py
new file mode 100644
index 0000000000000000000000000000000000000000..a7fd1db1f80df35743d793f65ad4a5206194cf8d
--- /dev/null
+++ b/km3io/utils/kprinttree.py
@@ -0,0 +1,38 @@
+#!/usr/bin/env python
+# coding=utf-8
+# Filename: kprinttree.py
+# Author: Tamas Gal <tgal@km3net.de>
+"""
+Print the available ROOT trees.
+
+Usage:
+    kprinttree.py FILENAME
+    kprinttree.py (-h | --help)
+
+Options:
+    -h --help   Show this screen.
+
+"""
+import uproot
+
+def print_tree(filename):
+    f = uproot.open(filename)
+    for key, ttree in f.items():
+        try:
+            print("{} : {}".format(key.decode(), len(ttree)))
+        except TypeError:
+            print("{}".format(key.decode()))
+
+
+def main():
+    from docopt import docopt
+    args = docopt(__doc__)
+
+    print_tree(args['FILENAME'])
+
+
+if __name__ == '__main__':
+    main()
+
+    	
+
diff --git a/requirements.txt b/requirements.txt
index 1e71e83e77d7521cde36bf64086741dcb1a20084..90b38c43f12a09986959d403ae20cc8ac4b1335a 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,2 +1,3 @@
+docopt
 uproot>=3.10.12
 setuptools_scm
diff --git a/setup.py b/setup.py
index 54a3e34b3ab0ce40a0312ada24eaeb807dbd7def..0dfb14e3ca7d33a6a9674d7f755992250b39edd1 100644
--- a/setup.py
+++ b/setup.py
@@ -32,6 +32,11 @@ setup(
     },
     install_requires=requirements,
     python_requires='>=3.5',
+    entry_points={
+        'console_scripts': [
+            'KPrintTree=km3io.utils.kprinttree:main'
+        ]
+    },
     classifiers=[
         'Intended Audience :: Developers',
         'Intended Audience :: Science/Research',