diff --git a/gr-resemble-diff-mode/gr-resemble-diff-mode.html b/gr-resemble-diff-mode/gr-resemble-diff-mode.html
index a3ea88e..b94859e 100644
--- a/gr-resemble-diff-mode/gr-resemble-diff-mode.html
+++ b/gr-resemble-diff-mode/gr-resemble-diff-mode.html
@@ -52,6 +52,14 @@
           on-tap="_handleIgnoreColorsToggle">
       Ignore colors
     </label>
+    <label>
+      <input
+          id="transparentToggle"
+          type="checkbox"
+          checked$="[[_transparent]]"
+          on-tap="_handleTransparentToggle">
+      Transparent
+    </label>
   </template>
   <script src="gr-resemble-diff-mode.js"></script>
 </dom-module>
\ No newline at end of file
diff --git a/gr-resemble-diff-mode/gr-resemble-diff-mode.js b/gr-resemble-diff-mode/gr-resemble-diff-mode.js
index 1160bc5..3161fd9 100644
--- a/gr-resemble-diff-mode/gr-resemble-diff-mode.js
+++ b/gr-resemble-diff-mode/gr-resemble-diff-mode.js
@@ -24,6 +24,10 @@
         type: Boolean,
         value: false,
       },
+      _transparent: {
+        type: Boolean,
+        value: false,
+      },
       loading: {
         type: Boolean,
         value: false,
@@ -38,7 +42,8 @@
     attached() {
       window.resemble.outputSettings({
         errorType: 'movement',
-        largeImageThreshold: 450,
+        largeImageThreshold: 0,
+        transparency: 1,
       });
     },
 
@@ -56,11 +61,7 @@
     },
 
     _maybeIgnoreColors(diffProcess, ignoreColors) {
-      if (ignoreColors) {
-        diffProcess.ignoreColors();
-      } else {
-        diffProcess.ignoreNothing();
-      }
+      ignoreColors ? diffProcess.ignoreColors() : diffProcess.ignoreNothing();
       return diffProcess;
     },
 
@@ -94,9 +95,23 @@
       this.loading = false;
     },
 
+    // The use of debounce is to prevent the user from repeatedly calling the
+    // functions in a short amount of time.
     _handleIgnoreColorsToggle() {
-      this._ignoreColors = !this._ignoreColors;
-      this.reload();
+      this.debounce('ignore-colors-toggle', () => {
+        this._ignoreColors = !this._ignoreColors;
+        this.reload();
+      }, 1);
+    },
+
+    _handleTransparentToggle() {
+      this.debounce('transparent-toggle', () => {
+        this._transparent = !this._transparent;
+        window.resemble.outputSettings({
+          transparency: this._transparent ? 0.3 : 1,
+        });
+        this.reload();
+      }, 1);
     },
   });
 })();
diff --git a/gr-resemble-diff-mode/gr-resemble-diff-mode_test.html b/gr-resemble-diff-mode/gr-resemble-diff-mode_test.html
index 9fe5161..2441ac4 100644
--- a/gr-resemble-diff-mode/gr-resemble-diff-mode_test.html
+++ b/gr-resemble-diff-mode/gr-resemble-diff-mode_test.html
@@ -78,12 +78,25 @@
       element._ignoreColors = false;
       assert.isFalse(element.$.ignoreColorsToggle.checked);
       MockInteractions.tap(element.$.ignoreColorsToggle);
+      element.flushDebouncer('ignore-colors-toggle');
       flushAsynchronousOperations();
 
       assert.isTrue(element._ignoreColors);
       assert.isTrue(element.reload.called);
     });
 
+    test('_handleTransparentToggle', () => {
+      sandbox.stub(element, 'reload');
+      element._transparent = false;
+      assert.isFalse(element.$.transparentToggle.checked);
+      MockInteractions.tap(element.$.transparentToggle);
+      element.flushDebouncer('transparent-toggle');
+      flushAsynchronousOperations();
+
+      assert.isTrue(element._transparent);
+      assert.isTrue(element.reload.called);
+    });
+
     test('calls reload', () => {
       sandbox.stub(element, 'reload');
       element.baseImage = {};
@@ -91,7 +104,11 @@
       element.revisionImage = {};
       assert.equal(element.reload.callCount, 1);
       MockInteractions.tap(element.$.ignoreColorsToggle);
+      element.flushDebouncer('ignore-colors-toggle');
       assert.equal(element.reload.callCount, 2);
+      MockInteractions.tap(element.$.transparentToggle);
+      element.flushDebouncer('transparent-toggle');
+      assert.equal(element.reload.callCount, 3);
     });
   });
 </script>
\ No newline at end of file
