diff --git a/app/emoji/client/emojiParser.js b/app/emoji/client/emojiParser.js
index 809b3c41569ab..e51727ade06b8 100644
--- a/app/emoji/client/emojiParser.js
+++ b/app/emoji/client/emojiParser.js
@@ -24,12 +24,24 @@ Tracker.autorun(() => {
// '
' to '
' for emojis such at line breaks
message.html = message.html.replace(/
/g, '
');
- message.html = Object.entries(emoji.packages).reduce((value, [, emojiPackage]) => emojiPackage.render(value), message.html);
+ // URL RegEx
+ const urlRegex = /(http(s)?:\/\/.)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/gm;
+
+ Object.keys(emoji.packages).forEach((emojiPackage) => {
+ // Divide into array
+ const splitMessage = message.html.split(' ');
+ for (const urlIndex in splitMessage) {
+ // Only change emoji for non URLs
+ if (!splitMessage[urlIndex].match(urlRegex)) {
+ splitMessage[urlIndex] = emoji.packages[emojiPackage].render(splitMessage[urlIndex]);
+ }
+ }
+ message.html = splitMessage.join(' ');
+ });
const checkEmojiOnly = $(`