diff --git a/src/components/status/status.js b/src/components/status/status.js
index 5b3d98c3..04958eea 100644
--- a/src/components/status/status.js
+++ b/src/components/status/status.js
@@ -289,6 +289,13 @@ const Status = {
     AvatarList
   },
   methods: {
+    generateTagAttributes(tags) {
+        let res = {};
+        for (let tag of tags) {
+            res['data-tag-'+tag.name] = tag.name;
+        }
+        return res;
+    },
     visibilityIcon (visibility) {
       switch (visibility) {
         case 'private':
diff --git a/src/components/status/status.vue b/src/components/status/status.vue
index 997c1b31..24b2520f 100644
--- a/src/components/status/status.vue
+++ b/src/components/status/status.vue
@@ -32,7 +32,7 @@
         </div>
       </div>
 
-      <div :class="[userClass, { highlighted: userStyle, 'is-retweet': retweet && !inConversation }]" :style="[ userStyle ]" class="media status">
+      <div :class="[userClass, { highlighted: userStyle, 'is-retweet': retweet && !inConversation }]" :style="[ userStyle ]" class="media status" v-bind="generateTagAttributes(status.tags)">
         <div v-if="!noHeading" class="media-left">
           <router-link :to="userProfileLink" @click.stop.prevent.capture.native="toggleUserExpanded">
             <UserAvatar :compact="compact" :betterShadow="betterShadow" :user="status.user"/>
diff --git a/src/services/entity_normalizer/entity_normalizer.service.js b/src/services/entity_normalizer/entity_normalizer.service.js
index 8e413584..46ca7602 100644
--- a/src/services/entity_normalizer/entity_normalizer.service.js
+++ b/src/services/entity_normalizer/entity_normalizer.service.js
@@ -192,6 +192,8 @@ export const parseStatus = (data) => {
 
     output.statusnet_html = addEmojis(data.content, data.emojis)
 
+    output.tags = data.tags
+
     if (data.pleroma) {
       const { pleroma } = data
       output.text = pleroma.content ? data.pleroma.content['text/plain'] : data.content