diff --git a/app/javascript/styles/mastodon/accounts.scss b/app/javascript/styles/mastodon/accounts.scss
index 30adf8cdc9dcf460b34aff2a89abd4241762e04a..ca55de28de1fd3338c2315de975f0d7124a885b5 100644
--- a/app/javascript/styles/mastodon/accounts.scss
+++ b/app/javascript/styles/mastodon/accounts.scss
@@ -531,7 +531,19 @@
   font-size: 12px;
   line-height: 12px;
   font-weight: 500;
-  color: $success-green;
-  background-color: rgba($success-green, 0.1);
-  border: 1px solid rgba($success-green, 0.5);
+  color: $ui-secondary-color;
+  background-color: rgba($ui-secondary-color, 0.1);
+  border: 1px solid rgba($ui-secondary-color, 0.5);
+
+  &.moderator {
+    color: $success-green;
+    background-color: rgba($success-green, 0.1);
+    border-color: rgba($success-green, 0.5);
+  }
+
+  &.admin {
+    color: $error-red;
+    background-color: rgba($error-red, 0.1);
+    border-color: rgba($error-red, 0.5);
+  }
 }
diff --git a/app/models/account.rb b/app/models/account.rb
index 6f6010f7af13b05783ae0775fc73e85b8872b819..bc01d24483c81dc79ba9578ad5db86d4a8a0ae84 100644
--- a/app/models/account.rb
+++ b/app/models/account.rb
@@ -115,6 +115,8 @@ class Account < ApplicationRecord
            :current_sign_in_at,
            :confirmed?,
            :admin?,
+           :moderator?,
+           :staff?,
            :locale,
            to: :user,
            prefix: true,
diff --git a/app/views/accounts/_header.html.haml b/app/views/accounts/_header.html.haml
index 5530fcc200aac2f85586fa631951bef43a57b8c2..e4c258acdaf84ba2c97478573117f3b0ce28eccf 100644
--- a/app/views/accounts/_header.html.haml
+++ b/app/views/accounts/_header.html.haml
@@ -29,8 +29,12 @@
 
     - if account.user_admin?
       .roles
-        .account-role
+        .account-role.admin
           = t 'accounts.roles.admin'
+    - elsif account.user_moderator?
+      .roles
+        .account-role.moderator
+          = t 'accounts.roles.moderator'
 
     .bio
       .account__header__content.p-note.emojify= Formatter.instance.simplified_format(account)
diff --git a/config/locales/en.yml b/config/locales/en.yml
index e941653172bba89f14818364b62d41d04c3fcc39..11c34b912cced0094beaac97a18d9fa65ffd0ce7 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -48,6 +48,7 @@ en:
     reserved_username: The username is reserved
     roles:
       admin: Admin
+      moderator: Mod
     unfollow: Unfollow
   admin:
     account_moderation_notes: