diff --git a/options-table.c b/options-table.c
index 90833114..28e4af7e 100644
--- a/options-table.c
+++ b/options-table.c
@@ -691,6 +691,11 @@ const struct options_table_entry window_options_table[] = {
 	  .default_str = "#I:#W#F"
 	},
 
+	{ .name = "window-status-separator",
+	  .type = OPTIONS_TABLE_STRING,
+	  .default_str = " "
+	},
+
 	{ .name = "wrap-search",
 	  .type = OPTIONS_TABLE_FLAG,
 	  .default_num = 1
diff --git a/status.c b/status.c
index 8338fbe4..33ac81ff 100644
--- a/status.c
+++ b/status.c
@@ -160,11 +160,12 @@ status_redraw(struct client *c)
 	struct winlink	       *wl;
 	struct screen		old_status, window_list;
 	struct grid_cell	stdgc, lgc, rgc, gc;
+	struct options	       *oo;
 	time_t			t;
-	char		       *left, *right;
+	char		       *left, *right, *sep;
 	u_int			offset, needed;
 	u_int			wlstart, wlwidth, wlavailable, wloffset, wlsize;
-	size_t			llen, rlen;
+	size_t			llen, rlen, seplen;
 	int			larrow, rarrow, utf8flag;
 
 	/* No status line? */
@@ -230,7 +231,11 @@ status_redraw(struct client *c)
 
 		if (wl == s->curw)
 			wloffset = wlwidth;
-		wlwidth += wl->status_width + 1;
+
+		oo = &wl->window->options;
+		sep = options_get_string(oo, "window-status-separator");
+		seplen = screen_write_strlen(utf8flag, "%s", sep);
+		wlwidth += wl->status_width + seplen;
 	}
 
 	/* Create a new screen for the window list. */
@@ -241,7 +246,10 @@ status_redraw(struct client *c)
 	RB_FOREACH(wl, winlinks, &s->windows) {
 		screen_write_cnputs(&ctx,
 		    -1, &wl->status_cell, utf8flag, "%s", wl->status_text);
-		screen_write_putc(&ctx, &stdgc, ' ');
+
+		oo = &wl->window->options;
+		sep = options_get_string(oo, "window-status-separator");
+		screen_write_nputs(&ctx, -1, &stdgc, utf8flag, "%s", sep);
 	}
 	screen_write_stop(&ctx);
 
diff --git a/tmux.1 b/tmux.1
index cd28e7da..e5aa3602 100644
--- a/tmux.1
+++ b/tmux.1
@@ -2700,6 +2700,10 @@ option for details of special character sequences available.
 The default is
 .Ql #I:#W#F .
 .Pp
+.It Ic window-status-separator Ar string
+Sets the separator drawn between windows in the status line.
+The default is a single space character.
+.Pp
 .It Xo Ic xterm-keys
 .Op Ic on | off
 .Xc