diff --git a/tools/dlist/main.go b/tools/dlist/main.go
new file mode 100644
index 0000000000000000000000000000000000000000..4525b9751443589941ea6ae1cb98c7159033955a
--- /dev/null
+++ b/tools/dlist/main.go
@@ -0,0 +1,34 @@
+package dlist
+
+import (
+	"flag"
+
+	"github.com/dgraph-io/dgraph/posting"
+	"github.com/dgraph-io/dgraph/store"
+	"github.com/dgraph-io/dgraph/x"
+)
+
+var glog = x.Log("dlist")
+
+var dir = flag.String("dir", "", "Directory containing ")
+var xid = flag.String("xid", "", "Get posting list for xid")
+var uid = flag.String("uid", "", "Get posting list for uid")
+var attr = flag.String("attr", "", "Get posting list for attribute")
+
+func main() {
+	flag.Parse()
+	var s store.Store
+	s.Init(*dir)
+	defer s.Close()
+
+	var key []byte
+	if len(*uid) > 0 && len(*attr) > 0 {
+		key = posting.Key(*uid, *attr)
+
+	} else if len(*attr) > 0 {
+		glog.Fatal("Not handling this yet.")
+
+	} else if len(*uid) > 0 {
+		key = posting.Key(*uid, "_xid_")
+	}
+}