diff --git a/doc/lkt.1 b/doc/lkt.1
index 73c36811edd4d8ab56b7b51d306c3c4f0fd5fdb1..911e8436e665c2a2a12c12e863d76f8776f56813 100644
--- a/doc/lkt.1
+++ b/doc/lkt.1
@@ -134,6 +134,9 @@ Search in the queue and prints the karas that match the query
 .PD 0
 .TP
 .PD
+\fBsticker create\fP <name>
+Create a sticker that can be used to tag \fIkara\fP and \fIplt\fP objects
+.TP
 \fBsticker get\fP <type> <uri> [ <name> [ <op> <value> ] ]
 List the stickers of an object \fIuri\fP. The object \fItype\fP can be
 \fIkara\fP or \fIplt\fP.
diff --git a/src/main/lkt.c b/src/main/lkt.c
index 89ba0e4556dbfb1914a6ea01054a27febc20d0c8..79c8959000f1a25c841f649f1c3783330185a3ec 100644
--- a/src/main/lkt.c
+++ b/src/main/lkt.c
@@ -729,6 +729,16 @@ stickers_set__(struct lkt_cmd_args *args)
     exit_with_status(sock, buff);
 }
 
+noreturn void
+stickers_create__(struct lkt_cmd_args *args)
+{
+    fail_if(args->argc != 1, "Invalid argument");
+    FILE *sock = lkt_connect();
+    char buff[2];
+    write_socket(sock, "sticker __create %s\n", args->argv[0]);
+    exit_with_status(sock, buff);
+}
+
 noreturn void
 stickers_delete__(struct lkt_cmd_args *args)
 {
@@ -834,6 +844,7 @@ static struct lkt_cmd_opt options_stickers[] = {
     { .name = "get",        .call = stickers_get__      },
     { .name = "set",        .call = stickers_set__      },
     { .name = "delete",     .call = stickers_delete__   },
+    { .name = "create",     .call = stickers_create__   },
     LKT_OPT_NULL,
 };