diff --git a/pipdeps/pipdeps.py b/pipdeps/pipdeps.py
index acc17cdc3803e082e09abcd1a7f2f53dc27302d1..5de91e6b41227edad138b14d6f386e0466b0681e 100644
--- a/pipdeps/pipdeps.py
+++ b/pipdeps/pipdeps.py
@@ -9,6 +9,7 @@ import urllib2
 import re
 import subprocess
 import sys
+import tabulate
 import packaging.specifiers
 import packaging.version
 
@@ -160,7 +161,9 @@ def main():
         upgradable_packages = find_upgradable_packages(outdated_packages, get_dependencies_tree())
         if arguments.list:
             if upgradable_packages:
-                print upgradable_packages
+                data = [[pkg['package'], pkg['installed_version'], pkg['upgradable_version']] for pkg in upgradable_packages] # pylint: disable=line-too-long
+                header = ['package', 'installed_version', 'upgradable_version']
+                print tabulate.tabulate(data, header)
                 sys.exit(1)
             else:
                 print "There is nothing to upgrade."
diff --git a/setup.py b/setup.py
index 9df5b4e5db223e8f9a2a55a49d38fc7089473354..0bdf368aec6e39549fe22060a0b91bf6a854b02b 100644
--- a/setup.py
+++ b/setup.py
@@ -31,6 +31,7 @@ setup(
     install_requires=[
         'packaging',
         'pipdeptree',
+        'tabulate',
     ],
     entry_points={
         'console_scripts': [