diff --git a/src/killSwitch/index.js b/src/killSwitch/index.js
index f0b1294..a1083b1 100644
--- a/src/killSwitch/index.js
+++ b/src/killSwitch/index.js
@@ -1,5 +1,6 @@
 import {compareLoose} from 'semver';
 
+import actionApi from '../common/actionApi.js';
 import {getExtVersion} from '../common/extUtils.js';
 
 import * as commonPb from './api_proto/common_pb.js';
@@ -10,11 +11,31 @@
     (PRODUCTION ? 'https://twpt-grpc-web.avm99963.com/' :
                   'http://localhost:8081');
 
+const KILLSWITCH_BADGE_OPTIONS = {
+  'iconTitleI18nKey': 'actionbadge_killswitch_enabled',
+  'badgeText': '!',
+  'bgColor': '#B71C1C',
+};
+
 export default class KillSwitchMechanism {
   constructor() {
     this.client = new KillSwitchServicePromiseClient(host, null, null);
   }
 
+  setBadge(anyKillSwitchEnabled) {
+    if (anyKillSwitchEnabled) {
+      actionApi.setBadgeBackgroundColor(
+          {color: KILLSWITCH_BADGE_OPTIONS.bgColor});
+      actionApi.setBadgeText({text: KILLSWITCH_BADGE_OPTIONS.badgeText});
+      let title =
+          chrome.i18n.getMessage(KILLSWITCH_BADGE_OPTIONS.iconTitleI18nKey);
+      actionApi.setTitle({title});
+    } else {
+      actionApi.setBadgeText({text: ''});
+      actionApi.setTitle({title: ''});
+    }
+  }
+
   getCurrentBrowser() {
     // #!if browser_target == 'gecko'
     return commonPb.Environment.Browser.BROWSER_GECKO;
@@ -68,10 +89,8 @@
 
           chrome.storage.sync.set(
               {_forceDisabledFeatures: forceDisabledFeatures}, () => {
-                if (forceDisabledFeatures.length > 0) {
-                  // TODO(avm99963): show a badge to warn that some features
-                  // have been force disabled.
-                }
+                let anyKillSwitchEnabled = forceDisabledFeatures.length > 0;
+                this.setBadge(anyKillSwitchEnabled);
               });
         })
         .catch(err => {
@@ -79,4 +98,4 @@
               '[killSwitch] Can\'t retrieve kill switch status: ', err);
         });
   }
-};
+}
diff --git a/src/static/_locales/en/messages.json b/src/static/_locales/en/messages.json
index b55cc98..139131a 100644
--- a/src/static/_locales/en/messages.json
+++ b/src/static/_locales/en/messages.json
@@ -600,5 +600,9 @@
   "actionbadge_permissions_requested": {
     "message": "Some features need additional permissions to work. Click to fix it.",
     "description": "Tooltip for the extension icon when a feature is enabled but it needs several permissions to be granted."
+  },
+  "actionbadge_killswitch_enabled": {
+    "message": "Some features have been force disabled. Click for more info.",
+    "description": "Tooltip for the extension icon shown when a kill switch has been enabled."
   }
 }
