diff --git a/bigbluebutton-html5/imports/ui/components/chat/chat-dropdown/component.jsx b/bigbluebutton-html5/imports/ui/components/chat/chat-dropdown/component.jsx
index a673d9dac8340cd40493edd4dd80ef55495935da..3811d4e5853c7a082f1b6cbae334b3e2bfe7d6d8 100755
--- a/bigbluebutton-html5/imports/ui/components/chat/chat-dropdown/component.jsx
+++ b/bigbluebutton-html5/imports/ui/components/chat/chat-dropdown/component.jsx
@@ -55,11 +55,11 @@ class ChatDropdown extends PureComponent {
   }
 
   componentDidUpdate(prevProps, prevState) {
-    const { timeWindowsValues, users } = this.props;
+    const { timeWindowsValues, users, intl } = this.props;
     const { isSettingOpen } = this.state;
     if (prevState.isSettingOpen !== isSettingOpen) {
       this.clipboard = new Clipboard('#clipboardButton', {
-        text: () => ChatService.exportChat(timeWindowsValues, users),
+        text: () => ChatService.exportChat(timeWindowsValues, users, intl),
       });
     }
   }
@@ -104,7 +104,7 @@ class ChatDropdown extends PureComponent {
           link.setAttribute(
             'href',
             `data: ${mimeType} ;charset=utf-8,
-            ${encodeURIComponent(ChatService.exportChat(timeWindowsValues, users))}`,
+            ${encodeURIComponent(ChatService.exportChat(timeWindowsValues, users, intl))}`,
           );
           link.dispatchEvent(new MouseEvent('click', { bubbles: true, cancelable: true, view: window }));
         }}
diff --git a/bigbluebutton-html5/imports/ui/components/chat/service.js b/bigbluebutton-html5/imports/ui/components/chat/service.js
index 53f8f2d92b7d4999770b97107644a0fd0c36c3fb..35f71ab1cddff82c43707d4d793f148e09c791b8 100755
--- a/bigbluebutton-html5/imports/ui/components/chat/service.js
+++ b/bigbluebutton-html5/imports/ui/components/chat/service.js
@@ -8,6 +8,7 @@ import Storage from '/imports/ui/services/storage/session';
 import { makeCall } from '/imports/ui/services/api';
 import _ from 'lodash';
 import { meetingIsBreakout } from '/imports/ui/components/app/service';
+import { defineMessages, injectIntl } from 'react-intl';
 
 const CHAT_CONFIG = Meteor.settings.public.chat;
 const GROUPING_MESSAGES_WINDOW = CHAT_CONFIG.grouping_messages_window;
@@ -31,6 +32,13 @@ const CLOSED_CHAT_LIST_KEY = 'closedChatList';
 
 const POLL_MESSAGE_PREFIX = 'bbb-published-poll-<br/>';
 
+const intlMessages = defineMessages({
+  publicChatClear: {
+    id: 'app.chat.clearPublicChatMessage',
+    description: 'message of when clear the public chat',
+  },
+});
+
 const setUserSentMessage = (bool) => {
   UserSentMessageCollection.upsert(
     { userId: Auth.userID },
@@ -308,22 +316,19 @@ const htmlDecode = (input) => {
 };
 
 // Export the chat as [Hour:Min] user: message
-const exportChat = (timeWindowList, users) => {
-  // const messageList = timeWindowList.reduce( (acc, timeWindow) => [...acc, ...timeWindow.content], []);
-  // messageList.sort((a, b) => a.time - b.time);
-
- const messageList = timeWindowList.reduce((acc, timeWindow) => {
+const exportChat = (timeWindowList, users, intl) => {
 
+  const messageList = timeWindowList.reduce((acc, timeWindow) => {
     const msgs = timeWindow.content.map(message => {
       const date = new Date(message.time);
       const hour = date.getHours().toString().padStart(2, 0);
       const min = date.getMinutes().toString().padStart(2, 0);
       const hourMin = `[${hour}:${min}]`;
-      console.log('message', message);
-      const userName = message.id.endsWith('welcome-msg')
+      const userName = message.id.startsWith('SYSTEM_MESSAGE')
         ? ''
-        : `${users[timeWindow.sender].name} :`;
-      return `${hourMin} ${userName} ${htmlDecode(message.text)}`;
+        : `${users[timeWindow.sender].name}: `;
+      const messageText = (message.text === 'PUBLIC_CHAT_CLEAR') ? intl.formatMessage(intlMessages.publicChatClear) : message.text;
+      return `${hourMin} ${userName}${htmlDecode(messageText)}`;
     });
 
     return [...acc, ...msgs];