# react-native-share

> Social share, sending simple data to other apps.

Latest version **12.3.1** (published 2026-05-04) · MIT license · 0 weekly downloads

## Install

```sh
npm install react-native-share
pnpm add react-native-share
yarn add react-native-share
bun add react-native-share
```

## Health

**Score 65/100 (B)** — status: stable.

Positive: has types; esm support; no vulnerabilities; has provenance; high maintenance score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 12.3.1 |
| Published | 2026-05-04 |
| First published | 2015-09-30 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=16 |
| Dependencies | 0 |
| Unpacked size | 337.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 3896 |
| Author | Esteban Fuentealba |
| Maintainers | sibelius, estebanfuentealba, enieber, jgcmarins, mikehardy, mateusandrade |
| Keywords | react-native, android, ios, windows, bridge, react, share |

## Links

- npm: https://www.npmjs.com/package/react-native-share
- Repository: https://github.com/react-native-share/react-native-share
- Homepage: https://react-native-share.github.io/react-native-share/
- Issues: https://github.com/react-native-share/react-native-share/issues
- npm.io page: https://npm.io/package/react-native-share

## Alternatives

- [mobx-react](https://npm.io/package/mobx-react.md) — 2.8M weekly downloads
- [rc-tree](https://npm.io/package/rc-tree.md) — 2.6M weekly downloads
- [@react-oauth/google](https://npm.io/package/@react-oauth/google.md) — 1.3M weekly downloads
- [@wagmi/connectors](https://npm.io/package/@wagmi/connectors.md) — 877.0K weekly downloads
- [vee-validate](https://npm.io/package/vee-validate.md) — 836.4K weekly downloads

## Recent versions

- 12.3.1 (latest) — 2026-05-04
- 12.3.0 — 2026-05-04
- 12.2.6 — 2026-03-11
- 12.2.5 — 2026-02-02
- 12.2.4 — 2026-01-21
- 12.2.3 — 2026-01-21
- 12.2.2 — 2026-01-06
- 12.2.1 — 2025-11-09
- 12.2.0 — 2025-08-06
- 12.1.2 — 2025-08-01
- 12.1.1 — 2025-07-25
- 12.1.0 — 2025-06-17
- 12.0.11 — 2025-05-07
- 12.0.10 — 2025-05-06
- 12.0.9 — 2025-02-16
- … 162 more at https://npm.io/package/react-native-share/versions

## README

# react-native-share ![example workflow](https://github.com/react-native-share/react-native-share/actions/workflows/release.yml/badge.svg)
 [![npm version](https://badge.fury.io/js/react-native-share.svg)](http://badge.fury.io/js/react-native-share) [![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)

React Native Share, is a simple tool for sharing messages and files with other apps.

# Getting started 🚀

---

## Expo Managed Workflow

For Expo projects, you will need to be on a managed workflow and use the following command:

```shell
npx expo install react-native-share
```

Configure you `app.config.ts` or `app.json` to use the permissions needed by the library:

```json
{
  "plugins": [
    [
      "react-native-share",
      {
        "ios": [
          "fb",
          "instagram",
          "twitter",
          "tiktoksharesdk",
        ],
        "android": [
          "com.facebook.katana",
          "com.instagram.android",
          "com.twitter.android",
          "com.zhiliaoapp.musically",
        ],
        "enableBase64ShareAndroid": true
      }
    ]
  ]
}
```

`ios` parameter will take care of adding queries (LSApplicationQueriesSchemes) to the Info.plist.

```xml
<key>LSApplicationQueriesSchemes</key>
<array>
  <string>fb</string>
  <string>instagram</string>
  <string>twitter</string>
  <string>tiktoksharesdk</string>
</array>
```

`android` parameter will take care of adding queries to the AndroidManifest.xml.

```xml
<queries>
  <package android:name="com.facebook.katana" />
  <package android:name="com.instagram.android" />
  <package android:name="com.twitter.android" />
  <package android:name="com.zhiliaoapp.musically" />
</queries>
```

`enableBase64ShareAndroid` will take care of adding the permission to the AndroidManifest.xml.

```xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
```

And prebuild the project with `expo prebuild`.

## Bare React Native

If you are using `react-native >= 0.7X` and/or the new arch you just need to do a simple:

```shell
yarn add react-native-share
```

Or if are using npm:

```shell
npm i react-native-share --save
```

After that, we need to install the dependencies to use the project on iOS(you can skip this part if you are using this on Android).

Now run a simple: `npx pod-install` or `cd ios && pod install`. After that, you should be able to use the library on both Platforms, iOS and Android.

# Usage

Then simply import:

```js
import Share from 'react-native-share';

Share.open(options)
  .then((res) => {
    console.log(res);
  })
  .catch((err) => {
    console.log(err);
  });
```

Which you do something similar to this:

![example-ios](website/static/img/assets-docs/ios-readme-example.gif)

# Documentation

If you are using a older version of `react-native` or `react-native-share`, having any problem or want to know how use `Share.open` and other functions, please refer to our new [docs](https://react-native-share.github.io/react-native-share) and help us improve that.🚀

---
_Source: https://npm.io/package/react-native-share · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
