diff --git a/src/profile-editor.c b/src/profile-editor.c
index 3506d700..7001c647 100644
--- a/src/profile-editor.c
+++ b/src/profile-editor.c
@@ -457,6 +457,14 @@ default_size_reset_cb (GtkWidget *button,
   g_settings_reset (profile, TERMINAL_PROFILE_DEFAULT_SIZE_ROWS_KEY);
 }
 
+static void
+cell_scale_reset_cb (GtkWidget *button,
+                     GSettings *profile)
+{
+  g_settings_reset (profile, TERMINAL_PROFILE_CELL_HEIGHT_SCALE_KEY);
+  g_settings_reset (profile, TERMINAL_PROFILE_CELL_WIDTH_SCALE_KEY);
+}
+
 static void
 reset_compat_defaults_cb (GtkWidget *button,
                           GSettings *profile)
@@ -746,6 +754,23 @@ bool_to_scrollbar_policy (const GValue *value,
   return g_variant_new_string (g_value_get_boolean (value) ? "always" : "never");
 }
 
+static gboolean
+spacing_float_to_percent (GValue *value,
+                          GVariant *variant,
+                          gpointer user_data)
+{
+  g_value_set_double (value, (g_variant_get_double (variant) - 1.0) * 100.0);
+  return TRUE;
+}
+
+static GVariant *
+spacing_percent_to_float (const GValue *value,
+                          const GVariantType *expected_type,
+                          gpointer user_data)
+{
+  return g_variant_new_double (1.0 + g_value_get_double (value) / 100.0);
+}
+
 #if !GTK_CHECK_VERSION (3, 19, 8)
 
 /* ATTENTION: HACK HACK HACK!
@@ -867,6 +892,10 @@ terminal_profile_edit (GSettings  *profile,
                     "clicked",
                     G_CALLBACK (default_size_reset_cb),
                     profile);
+  g_signal_connect (gtk_builder_get_object  (builder, "cell-scale-reset-button"),
+                    "clicked",
+                    G_CALLBACK (cell_scale_reset_cb),
+                    profile);
 
   w = (GtkWidget *) gtk_builder_get_object  (builder, "color-scheme-combobox");
   init_color_scheme_menu (w);
@@ -992,6 +1021,24 @@ terminal_profile_edit (GSettings  *profile,
                                 (GSettingsBindGetMapping) s_to_rgba,
                                 (GSettingsBindSetMapping) rgba_to_s,
                                 NULL, NULL);
+  g_settings_bind_with_mapping (profile, TERMINAL_PROFILE_CELL_HEIGHT_SCALE_KEY,
+                                gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON
+                                                                (gtk_builder_get_object
+                                                                 (builder,
+                                                                  "cell-height-scale-spinbutton"))),
+	                        "value", G_SETTINGS_BIND_GET | G_SETTINGS_BIND_SET,
+	                        (GSettingsBindGetMapping) spacing_float_to_percent,
+	                        (GSettingsBindSetMapping) spacing_percent_to_float,
+	                        NULL, NULL);
+  g_settings_bind_with_mapping (profile, TERMINAL_PROFILE_CELL_WIDTH_SCALE_KEY,
+                                gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON
+                                                                (gtk_builder_get_object
+                                                                 (builder,
+                                                                  "cell-width-scale-spinbutton"))),
+	                        "value", G_SETTINGS_BIND_GET | G_SETTINGS_BIND_SET,
+	                        (GSettingsBindGetMapping) spacing_float_to_percent,
+	                        (GSettingsBindSetMapping) spacing_percent_to_float,
+	                        NULL, NULL);
   g_settings_bind (profile, TERMINAL_PROFILE_CURSOR_COLORS_SET_KEY,
                    gtk_builder_get_object (builder,
                                            "cursor-colors-checkbutton"),
diff --git a/src/profile-preferences.ui b/src/profile-preferences.ui
index be7d8cf1..2f66049a 100644
--- a/src/profile-preferences.ui
+++ b/src/profile-preferences.ui
@@ -23,6 +23,20 @@
     <property name="step_increment">1</property>
     <property name="page_increment">100</property>
   </object>
+  <object class="GtkAdjustment" id="adjustment5">
+    <property name="lower">0</property>
+    <property name="upper">100</property>
+    <property name="value">0</property>
+    <property name="step_increment">5</property>
+    <property name="page_increment">25</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment6">
+    <property name="lower">0</property>
+    <property name="upper">100</property>
+    <property name="value">0</property>
+    <property name="step_increment">5</property>
+    <property name="page_increment">25</property>
+  </object>
   <object class="GtkListStore" id="cjk-ambiguous-width-model">
     <columns>
       <!-- column-name gchararray -->
@@ -194,7 +208,7 @@
                   <object class="GtkTable" id="general-table">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="n_rows">9</property>
+                    <property name="n_rows">10</property>
                     <property name="n_columns">4</property>
                     <property name="column_spacing">12</property>
                     <property name="row_spacing">6</property>
@@ -540,6 +554,129 @@
                         <property name="y_options">GTK_FILL</property>
                       </packing>
                     </child>
+                    <child>
+                      <object class="GtkLabel">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes">_Inter-cell spacing:</property>
+                        <property name="use_underline">True</property>
+                        <property name="margin_left">12</property>
+                        <property name="mnemonic_widget">cell-width-scale-spinbutton</property>
+                        <property name="xalign">0</property>
+                      </object>
+                      <packing>
+                        <property name="top_attach">9</property>
+                        <property name="bottom_attach">10</property>
+                        <property name="y_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkHBox">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <object class="GtkSpinButton" id="cell-width-scale-spinbutton">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="adjustment">adjustment5</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="label" translatable="yes">% wide</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">9</property>
+                        <property name="bottom_attach">10</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkHBox">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <object class="GtkSpinButton" id="cell-height-scale-spinbutton">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="adjustment">adjustment6</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="label" translatable="yes">% high</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="left_attach">2</property>
+                        <property name="right_attach">3</property>
+                        <property name="top_attach">9</property>
+                        <property name="bottom_attach">10</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkButtonBox">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="layout_style">end</property>
+                        <child>
+                          <object class="GtkButton" id="cell-scale-reset-button">
+                            <property name="label" translatable="yes">R_eset</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">True</property>
+                            <property name="use_underline">True</property>
+                            <property name="focus_on_click">False</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="left_attach">3</property>
+                        <property name="right_attach">4</property>
+                        <property name="top_attach">9</property>
+                        <property name="bottom_attach">10</property>
+                        <property name="y_options">GTK_FILL</property>
+                      </packing>
+                    </child>
                   </object>
                   <packing>
                     <property name="expand">False</property>
