# Overview

Built on top of the Stream Chat API, the Stream Chat React Native SDK components include everything you need to build feature-rich and high-functioning chat user experiences out of the box.

We have component libraries available for both RN CLI and Expo. Each approach includes an extensive set of fast performing and customizable UI components and support which allow you to get started quickly with little to no plumbing required. The libraries support:

- Rich media messages
- Reactions
- Threads and quoted replies
- Text input commands (ex: Giphy, emojis and @mentions)
- Image and file uploads
- Video playback
- Read state and typing indicators.
- Channel and message lists
- Push (APN or Firebase)
- Offline storage
- and a lot more.

Additionally, starting with version `6.0.0` our SDK supports the [React Native new architecture](https://reactnative.dev/architecture/landing-page) as well. You can read more about it [here](/chat/docs/sdk/react-native/v7/guides/new-architecture).

Before getting started with our docs, we recommend going through our tutorials for our [**React Native SDK**](https://getstream.io/chat/react-native-chat/tutorial/).

## Where to get started?

If you are new to our SDK, it is best to go through our [**React Native SDK**](https://getstream.io/chat/react-native-chat/tutorial/) tutorial.

## Architecture

Stream Chat React Native SDK primarily uses the [Stream Chat client](https://github.com/GetStream/stream-chat-js) to connect to and communicate with the Stream API.

The full [JavaScript client docs](/chat/docs/javascript/) should be referenced for detailed information on directly using the client.

<admonition type="note">

Do not install the `stream-chat` dependency externally. This may lead to problems while using our SDK. Our SDK has it as a development dependency, so you need not install it externally.

</admonition>

The Stream Chat React Native SDK is segregated into two separate packages:

- `stream-chat-react-native` for **React Native CLI** applications.
- `stream-chat-expo` for **Expo CLI** applications.

We recommend using the corresponding package for the respective CLI that the application uses.

Our SDK components are highly customizable for both the interfaces. Unless your UI is completely different from the common industry standard, you should be able to customize the built-in components to match your needs.

The UI SDKs provide both ready-made components that you can directly integrate (and customize) in your apps, or you can build your own, by reacting to the state we expose and re-using our components as building blocks, if needed.

## Upgrading and Versioning Strategy

The Stream Chat React Native SDK adheres to the [semantic versioning](https://semver.org/) rules.

- Bug fixes and behavior improvements cause **patch** version bump.
- New features are shipped with an increased **minor** version.
- Incompatible changes in the API will cause a **major** version increase.

Occasionally, the SDK can include visual changes (whitespace, color changes, sizing, etc) in minor versions, as we are continuously improving the default look of our UI components. Bumping the major version for such changes would not be practical.

## Platform Compatibilities

We only support **Android** and **iOS** as platforms for the React Native SDK. We do not support **Web** currently, but this is in our backlog, and we plan to take this up in the future. As an alternative, you can use Stream's [React SDK](/chat/docs/sdk/react/) for Web.

## Sample Apps

We have created some of the sample apps to help understand the usage of the Stream Chat React Native SDK. They can be found in the [`examples`](https://github.com/GetStream/stream-chat-react-native/tree/develop/examples) directory of the main repository. Apart from the samples we use for internal development, we also provide some small clone projects like a Slack clone and an iMessage clone. You can check out the code in [our repository](https://github.com/GetStream/react-native-samples) and even run the apps yourself.

---

This page was last updated at 2025-08-15T14:16:23.916Z.

For the most recent version of this documentation, visit [https://getstream.io/chat/docs/sdk/react-native/v7/](https://getstream.io/chat/docs/sdk/react-native/v7/).