UI Kits

React chat UI Kit with built-in calling features

Drop prebuilt React components into any app and go live with a full chat experience. No manual SDK wiring, no state management, no guesswork. Supports React.js, Next.js, React Router, and Astro.
Hero image

React in-app chat experience, simplified

Three steps to add chat to your React app

Install the package, drop in your components, and go live.

Step 1: Install & Set Up

Set up chat in your React project

  • Install the React UI Kit via npm — one command gets you the package, the Chat SDK, and all dependencies

  • Connect your app to CometChat using your App ID, Region, and Auth Key from the Dashboard

  • Everything initializes automatically — SDK setup, login, real-time events, and theming are all handled for you

UI Kit components for building in-app chat

Step 2: Arrange in your desired layout

Design your chat experience with selected components

  • Bring the selected pieces together to create the chat layout of your choice.

  • Apply styling, themes, and layout adjustments to match your needs.

  • Designed for React, flexible enough for any layout your app needs.

CometChat UI Kit components assembled to build in-app chat

Step 3: Deploy

Launch in-app chat in your React app

  • Once your layout is ready, export the React code and integrate chat directly into your application.

  • You stay in control after launch. Update layouts, refine the UI, or adjust features as your app evolves.

  • Sync your user base with CometChat and deploy with confidence, knowing your in-app chat is built to scale.

CometChat UI Kits

Resources

Docs, tutorials, sample apps and more

Documentation

Integrate seamlessly with our developer-friendly React UI Kit documentation.

Learn more

Sample apps

Get inspiration from our sample apps built with the React UI kit.

Learn more

Tutorial

Follow our step-by-step guide to seamlessly integrate chat in your React app.

Learn more

UI designs

View the source design files for our UI Kits directly on Figma

Learn more

Modular by design. Built for control.

React chat components you can mix, match, and extend

Conversations component

The command center of your chat experience

Display recent chats with rich context and instant updates.

  • Real-time unread counts, message previews, timestamps and read receipts


  • Smart filtering by type, tags, or custom criteria


  • Responsive design works across all screens

Messages component

Three composable components. One complete chat panel.

Three independent components you wire together into a complete chat panel.

  • Header, message list, and composer. Use all three, or just what you need

  • Plugin-based bubble rendering for text, image, video, audio, and polls

  • Each handles its own data fetching, real-time listeners, and state

Users component

Help users find and start conversations instantly

The Users component provides an accessible list of all available users within your chat application.

  • Search and filter users dynamically


  • Presence indicators and profile avatars for visibility

  • Customize the list to show only friends or exclude certain users from the list

Chat bubble

Plugin-rendered bubbles

Every bubble is rendered by a plugin you can fully control.

  • Shared chrome (avatar, name, timestamps, receipts, thread count) handled automatically

  • Renders text, images, video, audio, polls, stickers, and custom types out of the box

  • Drop in a custom plugin for location pins, product cards, or any format

UI Kit Components

React chat library that users love

Open source UI Kits with the chat functions and features your audience loves.

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

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
Ellipse
CometChat Logo

See the React UI kit in action

Send messages, try reactions, and see how components work instantly, no coding required.