diff --git a/locales/ja.yml b/locales/ja.yml
index ecde1bb6a1..98397212d4 100644
--- a/locales/ja.yml
+++ b/locales/ja.yml
@@ -70,6 +70,7 @@ common:
     congrats: "おめでとう"
     angry: "おこ"
     confused: "こまこまのこまり"
+    rip: "RIP"
     pudding: "Pudding"
 
   note-placeholders:
diff --git a/src/client/app/common/views/components/reaction-icon.vue b/src/client/app/common/views/components/reaction-icon.vue
index 2d5391a21e..46886b8ab2 100644
--- a/src/client/app/common/views/components/reaction-icon.vue
+++ b/src/client/app/common/views/components/reaction-icon.vue
@@ -8,6 +8,7 @@
 	<img v-if="reaction == 'congrats'" src="/assets/reactions/congrats.png" alt="%i18n:common.reactions.congrats%">
 	<img v-if="reaction == 'angry'" src="/assets/reactions/angry.png" alt="%i18n:common.reactions.angry%">
 	<img v-if="reaction == 'confused'" src="/assets/reactions/confused.png" alt="%i18n:common.reactions.confused%">
+	<img v-if="reaction == 'rip'" src="/assets/reactions/rip.png" alt="%i18n:common.reactions.rip%">
 	<template v-if="reaction == 'pudding'">
 		<img v-if="$store.getters.isSignedIn && $store.state.settings.iLikeSushi" src="/assets/reactions/sushi.png" alt="%i18n:common.reactions.pudding%">
 		<img v-else src="/assets/reactions/pudding.png" alt="%i18n:common.reactions.pudding%">
diff --git a/src/client/app/common/views/components/reaction-picker.vue b/src/client/app/common/views/components/reaction-picker.vue
index 5a149cc4d1..a455afbf7d 100644
--- a/src/client/app/common/views/components/reaction-picker.vue
+++ b/src/client/app/common/views/components/reaction-picker.vue
@@ -10,9 +10,10 @@
 			<button @click="react('hmm')" @mouseover="onMouseover" @mouseout="onMouseout" tabindex="4" title="%i18n:common.reactions.hmm%"><mk-reaction-icon reaction='hmm'/></button>
 			<button @click="react('surprise')" @mouseover="onMouseover" @mouseout="onMouseout" tabindex="5" title="%i18n:common.reactions.surprise%"><mk-reaction-icon reaction='surprise'/></button>
 			<button @click="react('congrats')" @mouseover="onMouseover" @mouseout="onMouseout" tabindex="6" title="%i18n:common.reactions.congrats%"><mk-reaction-icon reaction='congrats'/></button>
-			<button @click="react('angry')" @mouseover="onMouseover" @mouseout="onMouseout" tabindex="4" title="%i18n:common.reactions.angry%"><mk-reaction-icon reaction='angry'/></button>
-			<button @click="react('confused')" @mouseover="onMouseover" @mouseout="onMouseout" tabindex="5" title="%i18n:common.reactions.confused%"><mk-reaction-icon reaction='confused'/></button>
-			<button @click="react('pudding')" @mouseover="onMouseover" @mouseout="onMouseout" tabindex="6" title="%i18n:common.reactions.pudding%"><mk-reaction-icon reaction='pudding'/></button>
+			<button @click="react('angry')" @mouseover="onMouseover" @mouseout="onMouseout" tabindex="7" title="%i18n:common.reactions.angry%"><mk-reaction-icon reaction='angry'/></button>
+			<button @click="react('confused')" @mouseover="onMouseover" @mouseout="onMouseout" tabindex="8" title="%i18n:common.reactions.confused%"><mk-reaction-icon reaction='confused'/></button>
+			<button @click="react('rip')" @mouseover="onMouseover" @mouseout="onMouseout" tabindex="9" title="%i18n:common.reactions.rip%"><mk-reaction-icon reaction='rip'/></button>
+			<button @click="react('pudding')" @mouseover="onMouseover" @mouseout="onMouseout" tabindex="10" title="%i18n:common.reactions.pudding%"><mk-reaction-icon reaction='pudding'/></button>
 		</div>
 	</div>
 </div>
diff --git a/src/client/app/common/views/components/reactions-viewer.vue b/src/client/app/common/views/components/reactions-viewer.vue
index 97cb6be17c..23f4b59d62 100644
--- a/src/client/app/common/views/components/reactions-viewer.vue
+++ b/src/client/app/common/views/components/reactions-viewer.vue
@@ -9,6 +9,7 @@
 		<span v-if="reactions.congrats"><mk-reaction-icon reaction="congrats"/><span>{{ reactions.congrats }}</span></span>
 		<span v-if="reactions.angry"><mk-reaction-icon reaction="angry"/><span>{{ reactions.angry }}</span></span>
 		<span v-if="reactions.confused"><mk-reaction-icon reaction="confused"/><span>{{ reactions.confused }}</span></span>
+		<span v-if="reactions.rip"><mk-reaction-icon reaction="rip"/><span>{{ reactions.rip }}</span></span>
 		<span v-if="reactions.pudding"><mk-reaction-icon reaction="pudding"/><span>{{ reactions.pudding }}</span></span>
 	</template>
 </div>
diff --git a/src/client/assets/reactions/rip.png b/src/client/assets/reactions/rip.png
new file mode 100644
index 0000000000..4800fdb91b
Binary files /dev/null and b/src/client/assets/reactions/rip.png differ
diff --git a/src/misc/get-reaction-emoji.ts b/src/misc/get-reaction-emoji.ts
index c661205379..9d6956c4ac 100644
--- a/src/misc/get-reaction-emoji.ts
+++ b/src/misc/get-reaction-emoji.ts
@@ -8,6 +8,7 @@ export default function(reaction: string): string {
 		case 'congrats': return '🎉';
 		case 'angry': return '💢';
 		case 'confused': return '😥';
+		case 'rip': return '😇';
 		case 'pudding': return '🍮';
 		default: return '';
 	}
diff --git a/src/models/note-reaction.ts b/src/models/note-reaction.ts
index 915dc0cf91..a710fef364 100644
--- a/src/models/note-reaction.ts
+++ b/src/models/note-reaction.ts
@@ -26,6 +26,7 @@ export const validateReaction = $.str.or([
 	'congrats',
 	'angry',
 	'confused',
+	'rip',
 	'pudding'
 ]);