diff --git a/CHANGELOG b/CHANGELOG
index 0c712b445a4ef5d53a8fe49bf64605b5a258256b..58bd01741db32f5a16b1892fc4b2d83f0865160e 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -38,6 +38,7 @@ v 8.9.0 (unreleased)
   - Add support for using Yubikeys (U2F) for two-factor authentication
   - Link to blank group icon doesn't throw a 404 anymore
   - Remove 'main language' feature
+  - Toggle whitespace button now available for compare branches diffs #17881
   - Pipelines can be canceled only when there are running builds
   - Use downcased path to container repository as this is expected path by Docker
   - Projects pending deletion will render a 404 page
diff --git a/app/helpers/diff_helper.rb b/app/helpers/diff_helper.rb
index cbe471768315ba77b05a85120c9b39fba3661f8c..e22dce59d0fb8afd423e141a08dbfeef58658378 100644
--- a/app/helpers/diff_helper.rb
+++ b/app/helpers/diff_helper.rb
@@ -135,6 +135,11 @@ module DiffHelper
     toggle_whitespace_link(url, options)
   end
 
+  def diff_compare_whitespace_link(project, from, to, options)
+    url = namespace_project_compare_path(project.namespace, project, from, to, params_with_whitespace)
+    toggle_whitespace_link(url, options)
+  end
+
   private
 
   def hide_whitespace?
diff --git a/app/views/projects/diffs/_diffs.html.haml b/app/views/projects/diffs/_diffs.html.haml
index d9c4b410d32d712083a1458223221dfd36ccca4c..1e8d99f06eb72cdea2463a70f9bf93ee7397916d 100644
--- a/app/views/projects/diffs/_diffs.html.haml
+++ b/app/views/projects/diffs/_diffs.html.haml
@@ -11,6 +11,8 @@
         = commit_diff_whitespace_link(@project, @commit, class: 'hidden-xs')
       - elsif current_controller?(:merge_requests)
         = diff_merge_request_whitespace_link(@project, @merge_request, class: 'hidden-xs')
+      - elsif current_controller?(:compare)
+        = diff_compare_whitespace_link(@project, params[:from], params[:to], class: 'hidden-xs')
     .btn-group
       = inline_diff_btn
       = parallel_diff_btn