
Gifted Chat
A ready-made chat screen component for React Native apps, with messages, replies, and reactions.FaridSafi/react-native-gifted-chat
- Stars
- 14.4k
- Forks
- 3.6k
- Licence
- MIT
- Language
- TypeScript
- Last update
- 18 days ago
- Type
- Library
What it is
React Native Gifted Chat is a TypeScript component library that gives app developers a complete chat screen: message list, input box, avatars, timestamps, and similar chat features. Developers drop it into an iOS, Android, or web app instead of building chat UI from scratch. The README says it is now in maintenance mode, and active development has moved to a maintained fork.
- Add a one-to-one or group chat screen to a React Native app
- Show AI or bot-style quick reply buttons under a message
- Let users swipe to reply to a message and see a reply preview
- Attach photos or files from a composer action button
Great for
- Developers building a chat or messaging screen in a React Native app
- Teams using Expo who want a drop-in chat interface
- Projects that need swipe-to-reply, quick replies, or emoji reactions
- Developers who want to override chat components with their own implementations
Not ideal for
- Teams starting a new project, since the README encourages using the maintained fork instead (@kesha-antonov/react-native-chat)
- People who need a finished chat app without writing any code, since this is a component for developers
- Projects that cannot install the extra required packages such as reanimated and gesture-handler
How to get it
- 1
Install with a package manager
You'll need: React Native >= 0.70.0 or Expo SDK 50+ · iOS >= 13.4 or Android API 21+ · TypeScript >= 5.0 (optional)
Expo projects
npx expo install react-native-gifted-chat react-native-reanimated react-native-gesture-handler react-native-safe-area-context react-native-keyboard-controllerBare React Native with yarn
yarn add react-native-gifted-chat react-native-reanimated react-native-gesture-handler react-native-safe-area-context react-native-keyboard-controllerBare React Native with npm
npm install --save react-native-gifted-chat react-native-reanimated react-native-gesture-handler react-native-safe-area-context react-native-keyboard-controllerInstall iOS pods
npx pod-install - 2
Run it
- Install the packages with the command for your project type
- For bare React Native projects, install iOS pods and add the react-native-reanimated Babel plugin
- Create a messages state array and render the GiftedChat component with messages and user props
- Use GiftedChat.append in your onSend handler to add new messages
- 3
Get the most out of it
- Check the example directory for Slack-style messages, quick replies, and custom components
- Use keyboardAvoidingViewProps with useHeaderHeight to fix keyboard offset
- Override any component with your own implementation via the props reference
- Use the Expo Snack playground linked in the README to try it in a browser
Downloads
Strengths
- Large feature set listed in the README, including reactions, read ticks, typing indicator, and link parsing
- Ships with TypeScript definitions and works with Expo and react-native-web
- Permissive MIT license and a large, active user base by star count
Trade-offs
- The README says the package is in maintenance mode and is not receiving new features
- Requires several companion libraries and a Babel plugin setup for react-native-reanimated
- Setup requires knowledge of React Native and navigation header offsets
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| react-native-gifted-chat (this) | 14.4k | Library | intermediate | 18 days ago | Developers building a chat or messaging screen in a React Native app |
| why-did-you-render | 12.5k | Library | intermediate | 7 months ago | React developers investigating slow screens with many memoized or pure components |
| react-native-elements | 25.9k | Library | intermediate | 6 months ago | React Native developers who want ready-made UI components |
| react-native-web | 22.2k | Library | intermediate | 4 days ago | Developers who already use React Native and want the same components on the web |
| NativeBase | 20.4k | Library | intermediate | 9 months ago | Teams maintaining an existing app already built on NativeBase |
| mint-ui | 16.4k | Library | intermediate | 4.7 years ago | Developers building mobile-style web pages or apps with Vue 2 |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.