diff --git a/pkg/cmd/list.go b/pkg/cmd/list.go
index d516d14b6cc1b81f81e0c5d247253b304a9cb94e..f0acff63f11532d3680fdb7b1f7339edcdc9fdb6 100644
--- a/pkg/cmd/list.go
+++ b/pkg/cmd/list.go
@@ -4,8 +4,10 @@ import (
 	"fmt"
 	"os"
 
+	"github.com/olekukonko/tablewriter"
 	cli "github.com/spf13/cobra"
 
+	"github.com/tmrts/tmplt/pkg/template"
 	"github.com/tmrts/tmplt/pkg/tmplt"
 	"github.com/tmrts/tmplt/pkg/util/exit"
 	"github.com/tmrts/tmplt/pkg/util/validate"
@@ -43,8 +45,33 @@ var List = &cli.Command{
 			exit.Error(fmt.Errorf("list: %s", err))
 		}
 
+		var data [][]string
 		for name, _ := range templateNames {
-			fmt.Println(name)
+			tmplPath, err := tmplt.TemplatePath(name)
+			if err != nil {
+				exit.Fatal(fmt.Errorf("list: %s", err))
+			}
+
+			tmpl, err := template.Get(tmplPath)
+			if err != nil {
+				exit.Fatal(fmt.Errorf("list: %s", err))
+			}
+
+			data = append(data, tmpl.Info().String())
+		}
+
+		// TODO Wrap in a util function
+		table := tablewriter.NewWriter(os.Stdout)
+		table.SetHeader([]string{"Tag", "Repository", "Created"})
+
+		for _, datum := range data {
+			table.Append(datum)
+		}
+
+		if len(data) == 0 {
+			table.Append([]string{"", "", ""})
 		}
+
+		table.Render()
 	},
 }