Skip to main content
CometChat UI Kit provides production-ready components that work together to deliver a complete chat experience. This guide shows how to implement each core feature with copy-paste code examples.

Instant Messaging

Send and receive text messages in real-time.
Components Used:

Media Sharing

Share multiple images, videos, audio files, and documents in a single send. Tapping the attachment button opens a multi-select picker; the picks stage in a preview tray above the input box with per-file upload progress, and send together with an optional caption. Everything works out of the box:
Multi-attachment message list showing an image grid, a file card, and an audio bubble with caption, plus the composer staging tray with mixed image, video, and file tiles
Received messages render with per-type bubbles: a media grid for images and videos (with a fullscreen viewer — swipe, zoom, per-photo download, share), playback rows for audio files, and a connected card stack for documents. Messages from one send are grouped visually in the list. Per-message file count and per-file size limits come from your app’s dashboard settings; violations surface directly in the tray. See Message Composer — Multiple Attachments for configuration and Message Bubble Styling for the bubbles. Supported Media Types:

Read Receipts

Show when messages are delivered and read.
Receipt States:
  • ✓ Sent - Message sent to server
  • ✓✓ Delivered - Message delivered to recipient’s device
  • ✓✓ (blue) Read - Recipient has seen the message
Components Used:

Mark As Unread

Let users mark messages as unread to revisit later.

Typing Indicators

Show when users are typing in real-time.
Components Used:

User Presence

Display online/offline status for users.

Reactions

Let users react to messages with emojis.

Mentions

Tag users in messages with @mentions.

Rich Text Formatting

Rich Text Formatting allows users to style their messages with bold, italic, strikethrough, code, code blocks, blockquotes, ordered/unordered lists, and links. This brings richer expression to conversations and helps users emphasize key points.
enableRichTextFormatting and showRichTextFormattingOptions are true by default. See the CompactMessageComposer Rich Text Formatting section for full configuration details.
Rich text formatting in message bubbles (rendering formatted text in the MessageList) is supported from UI Kit version 5.2.11 onwards. Earlier versions will display the raw markdown syntax instead of formatted text.

Threaded Conversations

Reply to specific messages in threads.
Component Used:

Thread Subscription

Available since v5.1.22 Let users subscribe to a thread to be notified about its replies, or unsubscribe to mute it. Users are subscribed automatically when they start a thread, reply in one, or are @-mentioned in one — subscribing explicitly is how they opt in to a thread they haven’t participated in yet. On by default — there is no dashboard flag for this feature, so CometChatThreadSubscriptionConfig.setEnabled(false) is the only way to remove it. See Turning the Feature Off.
See the Thread Subscription guide for the full feature.

Group Chat

Create and manage group conversations.
Related Guide: Groups

Quoted Reply

Reply to specific messages with context.

Pin & Save Messages

Available since v5.1.22 Keep important messages in reach. Pinning highlights a message for everyone in the conversation and is restricted to group owners, admins and moderators — everyone else sees the pin indicator and the pinned list. Saving bookmarks a message privately for the acting user and spans every conversation, so saves are listed on a user-level screen rather than a per-conversation one.
Components Used:
  • MessageList - Adds Pin, Unpin, Save and Unsave to the message options, and shows the bubble indicators
  • Pinned Messages - The messages pinned in one conversation
  • Saved Messages - The current user’s saved messages, across every conversation
  • Conversations - Lets users pin a whole conversation to the top of their list
See the Pin & Save Messages guide for end-to-end wiring.

Pin Conversations

Available since v5.1.22 Keep the chats that matter at the top. Users pin a conversation from its swipe action; pinned conversations show an indicator and stay above the rest of the list. An admin can also pin a conversation for everyone — those rows are not the user’s to unpin, so the affordance is not offered.
Component Used:
  • Conversations - Provides the pin/unpin option, the row indicator, and pinned-first ordering
Search across conversations and messages.
Components Used:

Moderation

Automatically filter inappropriate content.
Configure moderation rules in your CometChat Dashboard.

Report Message

Allow users to report inappropriate messages.
View and manage reported messages in Flagged Messages.