diff --git a/gr-checks/gr-checks-view.html b/gr-checks/gr-checks-view.html
index e0bd67d..9e0910d 100644
--- a/gr-checks/gr-checks-view.html
+++ b/gr-checks/gr-checks-view.html
@@ -49,7 +49,6 @@
       header {
         display: flex;
         margin: 1rem 1rem 0;
-        justify-content: space-between;
       }
 
       table {
@@ -88,31 +87,54 @@
         padding-left: 1em;
       }
 
-      .configure-button {
-        float:right;
-        margin-top: 10px;
+      .configure-button-container {
+        text-align: right;
+        flex: 1;
+      }
+
+      .filter {
+        margin-left: 10px;
       }
 
       #listOverlay {
         width: 75%;
       }
+
+      .container {
+        display: flex;
+        width: 100%;
+      }
     </style>
 
     <header>
-      <template is="dom-if" if="[[_patchSetDropdownItems.length]]">
-        <gr-dropdown-list
-          class="patch-set-dropdown"
-          items="[[_patchSetDropdownItems]]"
-          on-value-change="_handlePatchSetChanged"
-          value="[[_currentPatchSet]]">
-        </gr-dropdown-list>
-      </template>
-      <template is="dom-if" if="[[_createCheckerCapability]]">
-        <gr-button class="configure-button" on-click="_handleConfigureClicked"> Configure </gr-button>
-      </template>
+      <div class="container">
+        <template is="dom-if" if="[[_patchSetDropdownItems.length]]">
+          <gr-dropdown-list
+            class="patch-set-dropdown"
+            items="[[_patchSetDropdownItems]]"
+            on-value-change="_handlePatchSetChanged"
+            value="[[_currentPatchSet]]">
+          </gr-dropdown-list>
+        </template>
+        <template is="dom-if" if="[[_hasResults(_status)]]">
+          <div class="filter">
+            <span> Filter By: </span>
+            <gr-dropdown-list
+              class="check-state-filter"
+              items="[[_statuses]]"
+              on-value-change="_handleStatusFilterChanged"
+              value="[[_currentStatus]]">
+            </gr-dropdown-list>
+          </div>
+        </template>
+        <template is="dom-if" if="[[_createCheckerCapability]]">
+          <div class="configure-button-container">
+            <gr-button on-click="_handleConfigureClicked"> Configure </gr-button>
+          </div>
+        </template>
+      </div>
     </header>
 
-
     <template is="dom-if" if="[[_isLoading(_status)]]">
       <div class="no-content">
         <p>Loading...</p>
@@ -150,26 +172,26 @@
           </tr>
         </thead>
         <tbody>
-          <template is="dom-repeat" items="[[_checks]]" as="check">
-            <tr>
-              <gr-checks-item on-retry-check="_handleRetryCheck" on-toggle-check-message="_toggleCheckMessage"
-                check="[[check]]">
-              </gr-checks-item>
-            </tr>
-            <template is="dom-if" if="[[check.showCheckMessage]]">
+          <template is="dom-repeat" items="[[_visibleChecks]]" as="check">
               <tr>
-                <td colspan="10" class="check-message-heading">
-                  <span class="message-heading">
-                    Message
-                  </span>
-                </td>
+                <gr-checks-item on-retry-check="_handleRetryCheck" on-toggle-check-message="_toggleCheckMessage"
+                  check="[[check]]">
+                </gr-checks-item>
               </tr>
-              <tr>
-                <td colspan="10" class="check-message">
-                  <span class="message"> [[check.message]] </span>
-                </td>
-              </tr>
-            </template>
+              <template is="dom-if" if="[[check.showCheckMessage]]">
+                <tr>
+                  <td colspan="10" class="check-message-heading">
+                    <span class="message-heading">
+                      Message
+                    </span>
+                  </td>
+                </tr>
+                <tr>
+                  <td colspan="10" class="check-message">
+                    <span class="message"> [[check.message]] </span>
+                  </td>
+                </tr>
+              </template>
           </template>
         </tbody>
       </table>
diff --git a/gr-checks/gr-checks-view.js b/gr-checks/gr-checks-view.js
index 8d4e3f8..4ca7ebc 100644
--- a/gr-checks/gr-checks-view.js
+++ b/gr-checks/gr-checks-view.js
@@ -13,6 +13,9 @@
     Statuses.NOT_RELEVANT,
   ];
 
+  const STATE_ALL = 'ALL';
+  const CheckStateFilters = [STATE_ALL, ...StatusPriorityOrder];
+
   const CHECKS_POLL_INTERVAL_MS = 60 * 1000;
 
   /**
@@ -50,11 +53,16 @@
       isConfigured: Function,
       /** @type {function(string, string): !Promise<!Object>} */
       pluginRestApi: Object,
-      _checks: Object,
+      _checks: Array,
       _status: {
         type: Object,
         value: LoadingStatus.LOADING,
       },
+      _visibleChecks: {
+        type: Array,
+        computed: '_computeVisibleChecks(_checks, _currentStatus)',
+      },
+      _statuses: Array,
       pollChecksInterval: Number,
       visibilityChangeListenerAdded: {
         type: Boolean,
@@ -72,6 +80,10 @@
       _currentPatchSet: {
         type: Number,
       },
+      _currentStatus: {
+        type: String,
+        value: STATE_ALL,
+      },
     },
 
     observers: [
@@ -80,6 +92,12 @@
 
     attached() {
       this.pluginRestApi = this.plugin.restApi();
+      this._statuses = CheckStateFilters.map(state => {
+        return {
+          text: state,
+          value: state,
+        };
+      });
       this._initCreateCheckerCapability();
     },
 
@@ -100,6 +118,13 @@
           .sort((a, b) => b.value - a.value);
     },
 
+    _computeVisibleChecks(checks, status) {
+      if (!checks) return;
+      return checks.filter(check =>
+        status === STATE_ALL || check.state === status
+      );
+    },
+
     _handleRevisionUpdate(revision) {
       this._currentPatchSet = revision._number;
     },
@@ -111,6 +136,12 @@
       this._currentPatchSet = patchSet;
     },
 
+    _handleStatusFilterChanged(e) {
+      const status = e.detail.value;
+      if (status === this._currentStatus) return;
+      this._currentStatus = status;
+    },
+
     _handleCheckersListResize() {
       // Force polymer to recalculate position of overlay when length of
       // checkers changes
diff --git a/gr-checks/gr-checks-view_test.html b/gr-checks/gr-checks-view_test.html
index 16fa6c4..c35a940 100644
--- a/gr-checks/gr-checks-view_test.html
+++ b/gr-checks/gr-checks-view_test.html
@@ -97,6 +97,8 @@
   };
 
   const CHECKS_POLL_INTERVAL_MS = 60 * 1000;
+  const STATE_ALL = 'ALL';
+  const Statuses = window.Gerrit.Checks.Statuses;
 
   suite('gr-checks-view tests', () => {
     let element;
@@ -319,7 +321,9 @@
 
     suite('with checks', () => {
       setup(done => {
-        getChecksResolve([CHECK1, CHECK1, CHECK1]);
+        const CHECK3 = Object.assign({}, CHECK1, {state: 'FAILED'});
+        const CHECK4 = Object.assign({}, CHECK1, {state: 'FAILED'});
+        getChecksResolve([CHECK1, CHECK2, CHECK3, CHECK4]);
         flush(done);
       });
 
@@ -329,7 +333,7 @@
 
       test('renders a table of all the checks', () => {
         const tbody = element.$$('table > tbody');
-        assert.lengthOf(tbody.querySelectorAll('gr-checks-item'), 3);
+        assert.lengthOf(tbody.querySelectorAll('gr-checks-item'), 4);
       });
 
       suite('create checker capability false', () => {
@@ -369,7 +373,7 @@
 
       suite('patchset navigation', () => {
         test('renders the dropdown', () => {
-          assert.isNotNull(element.querySelector('gr-dropdown-list'));
+          assert.isNotNull(element.querySelector('.patch-set-dropdown'));
         });
 
         test('when patchset updated it fetches new checks', done => {
@@ -400,6 +404,25 @@
           });
         });
       });
+
+      suite('check state filter', () => {
+        test('renders the filter dropdown', () => {
+          assert.isNotNull(element.querySelector('.check-state-filter'));
+        });
+
+        test('default filter is all', () => {
+          assert.equal(element._currentStatus, STATE_ALL);
+        });
+
+        test('updating filter status filters checks', done => {
+          assert.equal(element._visibleChecks.length, 4);
+          element._currentStatus = Statuses.RUNNING;
+          flush(() => {
+            assert.equal(element._visibleChecks.length, 2);
+            done();
+          });
+        });
+      });
     });
   });
 
