# React Native Google Sign In > Google Sign-In for React Native and Expo apps. Package: @react-native-google-signin/google-signin. The recommended option is Universal Sign In (paid, at universal-sign-in.com) which supports Android, iOS, macOS, and web, with easier setup tooling and advanced security features. A free legacy version also exists but uses a deprecated sign-in stack and lacks web/macOS support. ## Overview `@react-native-google-signin/google-signin` provides Google authentication for React Native and Expo apps. There are two modules: - **Universal Sign In** (recommended, [paid](https://universal-sign-in.com/#pricing)): Cross-platform API using Android Credential Manager and iOS Google Sign-In SDK. Module name: `GoogleOneTapSignIn`. - **Original Google Sign In** (free): Legacy API for Android and iOS only. Module name: `GoogleSignin`. ## Quick start 1. Install the package (see Installation) 2. Collect configuration (see Configuration guide) 3. Follow the setup guide for your platform (Expo, Android, iOS, or Web) 4. Use the Universal Sign In API (see Universal sign in) ## Setup - [Installation](/docs/install.md): Install `@react-native-google-signin/google-signin`. Covers paid (Universal Sign In) and free (Original) versions, requirements, and package manager setup. - [Android setup guide](/docs/setting-up/android.md): Android setup guide for vanilla React Native apps (not Expo). Covers Google project configuration, linking, and `CredentialManager` setup. - [Expo setup](/docs/setting-up/expo.md): Expo setup guide. Covers config plugin setup and EAS Build configuration for Google Sign-In. - [Collecting configuration information](/docs/setting-up/get-config-file.md): How to obtain `webClientId`, iOS `clientId`, and other configuration values from Google Cloud Console or Firebase. Required before platform setup. - [iOS setup guide](/docs/setting-up/ios.md): iOS setup guide for vanilla React Native apps (not Expo). Covers native module linking, URL schemes, and plist configuration. - [Web setup guide](/docs/setting-up/web.md): Web setup guide. Works with NextJS, Vite, and other web frameworks. Covers Google client ID configuration and script loading. ## Usage - [API reference](/docs/api.md): API reference for `GoogleOneTapSignIn` (Universal) and `GoogleSignin` (Original) modules. Covers `configure()`, `signIn()`, `createAccount()`, `requestAuthorization()`, and all types. - [GoogleLogoButton](/docs/buttons/google-logo-button.md): `GoogleLogoButton` component following Google's official branding guidelines. For native apps only (renders null on web). Customizable size, style, and loading state. - [WebGoogleSigninButton](/docs/buttons/web.md): `WebGoogleSigninButton` component for web apps. Renders null in native apps. Supports size, shape, theme, and locale customization. - [Universal sign in](/docs/one-tap.md): Google's recommended Sign-In API for Android (Credential Manager), iOS/macOS (Google Sign-In SDK), and web. Covers `configure()`, sign-in flows, user data access, and token handling. - [Original Google sign in](/docs/original.md): Legacy `GoogleSignin` module for Android and iOS. Consider migrating to Universal Sign In. ## Guides - [Error handling](/docs/errors.md): Error handling guide. Covers `isErrorWithCode` helper, error codes (`SIGN_IN_CANCELLED`, `NO_SAVED_CREDENTIAL_FOUND`, `PLAY_SERVICES_NOT_AVAILABLE`, etc.), and best practices. - [Migration guides](/docs/migrating.md): Migration guides: from Original to Universal Sign In module, and from the legacy JS API to the new API. - [Advanced security](/docs/security.md): Advanced security features: custom nonce support on all platforms and App Check for iOS. - [Testing](/docs/testing.md): How to mock Google Sign-In in Jest tests for both the Universal and Original modules. - [Web support](/docs/web-support.md): Web platform support. Works with NextJS, Vite, and other web frameworks without React Native Web dependency. Covers setup, rendering modes, and limitations. ## Help - [Configuration Doctor](/docs/config-doctor.md): CLI tool to diagnose Android signing configuration issues and resolve `DEVELOPER_ERROR`. - [FAQ / Troubleshooting](/docs/troubleshooting.md): Common issues and step-by-step solutions for Android (`DEVELOPER_ERROR`, cancelled results) and iOS (missing profile data, URL schemes).