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

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.
Component Used: 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 Message

Pin an important message so everyone in the conversation can find it. Pinning is restricted to group owners, admins and moderators; everyone else sees the pin indicator and the pinned list.
See the Pin & Save Messages guide and Pinned Messages.

Save Message

Save a message privately for later. Saves are visible only to the user who made them and span every conversation, so they are listed on a user-level screen rather than a per-conversation one.
See the Pin & Save Messages guide and Saved Messages. 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.