This library provides access to the Keychain (iOS) and Keystore (Android) for securely storing credentials like passwords, tokens, or other sensitive information in React Native apps.
React Native 0.82 or later with the New Architecture is required for the upcoming 11.x release. Use 10.x for older React Native versions or the Old Architecture. The iOS minimum is 15.1 and Android minimum is API 24. Development requires Node.js 20.19.4+, JDK 17, and Xcode 16.1+.
- Run
yarn add react-native-keychain - Run
pod installinios/directory to install iOS dependencies. - If you want to support FaceID, add a
NSFaceIDUsageDescriptionentry in yourInfo.plist. - Re-build your Android and iOS projects.
The example app lets you save, load, and reset generic passwords and internet credentials, choose protection options, and inspect the returned service or server and storage type. Retrieved passwords stay hidden until you reveal them.
| iOS | Android |
|---|---|
![]() |
![]() |
| Watch the iOS demo | Watch the Android demo |
To run it locally, install workspace dependencies with yarn install. For iOS, also run bundle install and bundle exec pod install --project-directory=ios from KeychainExample/. Then run yarn workspace KeychainExample ios or yarn workspace KeychainExample android from the repository root.
Please refer to the documentation website on https://oblador.github.io/react-native-keychain
Check the GitHub Releases page.
Joel Arvidsson Author |
Dorian Mazur Maintainer |
Vojtech Novak Maintainer |
Pelle Stenild Coltau Maintainer |
Oleksandr Kucherenko Contributor |
This library is used by several projects, including:
MIT © Joel Arvidsson 2016-2020


