iOS chat UI library

iOS chat UI components with embedded messaging logic

Production-ready UIKit and SwiftUI components for adding chat, calling, and AI agents into any native iOS application. Each component manages its own real-time listeners, data fetching, and state backed by CometChat's infrastructure, with no backend code required.
Hero image

Chat & Messaging Components

Core components built for real-time conversations

Seamless 1:1 messaging with pre-built components that handle real-time updates, delivery, and user interaction.

Conversations

A UI view controller that presents all recent 1:1 and group threads for the signed-in user. Each row shows the other party's avatar, name, last message snippet, timestamp, and unread badge.

Message header

Renders the top bar of the message panel, consists of avatar, display name, online status, and typing indicator. Also the standard place to embed calling buttons when voice and video calling is needed.

Message List

Scrollable widget rendering the full message history between the logged-in user and a User or Group. Displays text, media, reactions, delivery receipts, threaded replies, and AI features.

Message composer

Input widget for composing and sending messages. Supports text input, media and file attachments, emoji, @mentions, and voice recording.

Conversations with messages

A composite component that combines conversations, message header, message list, and message composer into a single drop-in. Use this when you want a complete two-panel chat layout without assembling the individual pieces yourself.

Threaded messages

A dedicated widget for message thread replies. Opens a focused view anchored to the parent message, with its own real-time message list and composer.

Search

Full-text search across all conversations groups and messages. Renders matching results with context and allow users to navigate directly to the result.

Users

A searchable, scrollable list of all registered users in your app. Tap any user to open a direct chat. Used as the entry point for starting a new 1:1 conversation.

Group Chat Components

Manage groups and communities with purpose-built widgets

Create dynamic group and community experiences with components for member management, roles, and moderation.

Groups

A searchable list of all available groups the signed-in user can browse or join. Presents group name, type (public, private, password-protected), and member count. Tapping a group pushes directly into the group's conversation.

Group members

Lists all current members of a group alongside their roles: owner, admin, moderator, or participant. Admins and owners can change member roles or remove participants directly from this view.

Add members

A search and multi-select view for expanding group membership. Receives a Group object and renders a searchable user directory. Available only to group admins and owners. Users added here receive a notification that they have joined the group.

Extended components

The details that make chat feel right

Add reactions, read receipts, presence indicators, and more with pre-built components that work seamlessly.

CometChat UI Kit components. Chat reactions

Reactions

Built-in emoji support with customizable reaction sets to match your app's personality.
CometChat chat UI Kit quoted replies

Threaded messages

Keep conversations organized with intuitive message threading. Users can create and follow discussion threads without losing context of the main chat.
CometChat UI Kit components. Message builder.

Message composer

Rich text editor with smart capabilities. Support for emojis, file attachments, and formatting, plus extensible for custom input types.
CometChat UI Kit components. Presence indicator.

Presence Indicators

Real-time user status updates show who's online and active. Automatic presence detection with customizable status messages.
CometChat UI Kit components. Read and delivered reciepts.

Read Receipts

Clear visual indicators show when messages are sent, delivered, and read.
CometChat UI Kit components. Message information.

Message Information

Detailed message context at a glance. Timestamps, sender info, and delivery status in a clean, customizable format.
CometChat UI Kit components,  unread message count

Unread Message Counts

Smart unread counters that automatically track messages across conversations, with customizable badge styling.
CometChat UI Kit components. Audio recorder.

Audio Recorder

Built-in recording with playback controls and automatic upload handling.
CometChat UI Kit components user avatars

Avatars

Add profile pictures that adapt seamlessly from chats to user lists. Built-in support for images, initials, and presence indicators

Calling Components

Extend your iOS app with voice and video calls

Add high-quality voice and video calling directly into your chat experience.

Call logs

A UIViewController showing the complete call history, incoming, outgoing, and missed calls - with caller or callee name, call type (audio or video), and timestamp per entry. Each row includes a callback button to reinitiate the call directly.

Ongoing call

Full-screen call view that renders video streams, microphone and camera controls, participant information, call status, and screen sharing options. Manages the complete in-call session from connection through hang-up.

Call buttons

Renders a voice and a video call button for a given user or group. Typically embedded in the message header. Manages the full call initiation flow and renders the outgoing call component internally when a call is placed.

Incoming call

Full-screen overlay presented when the device receives an incoming voice or video call. Displays the caller's identity with answer and decline actions. Integrates with CallKit for native iOS incoming call handling.

Outgoing call

View presented while the call recipient's device is ringing. Shows the callee's details and a cancel control. Transitions automatically to the ongoing call view once the call is accepted.

Integration Methods

Check out more integration tools

Start with any integration method and scale to others as your needs evolve.

Widget Builder

A no-code chat builder for any platform, built for high-impact use cases that need real chat fast and flexible.

Customize entirely and toggle chat functions as needed
Integrate with a single line of code
Deploy and launch your in-app chat

UI Kit Builder

A low-code chat builder that is fully customizable, easy to integrate, and scales with your product.

Individual chat components stitched together
Customize chat and toggle functions
Export source code and deploy

Chat SDKs

Open source SDKs and APIs for all popular frameworks to build bespoke chat experiences.

Fully customizable workflows
Build your own chat interface
Extend beyond core capabilities with ease

FAQ

Got questions? We’ve got answers.

Ellipse
CometChat Logo

Start building today

Build faster, scale smarter, and elevate your chat experience with tools that grow with your business.