# react-native-cloud-storage

> ☁️ Save to & read from iCloud and Google Drive using React Native

Latest version **3.1.1** (published 2026-10-02) · MIT license · 0 weekly downloads

## Install

```sh
npm install react-native-cloud-storage
pnpm add react-native-cloud-storage
yarn add react-native-cloud-storage
bun add react-native-cloud-storage
```

## Health

**Score 75/100 (B)** — status: active.

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

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 3.1.1 |
| Published | 2026-10-02 |
| First published | 2023-04-04 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Unpacked size | 607.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 289 |
| Author | Kuatsu App Agency |
| Maintainers | mfkrause |
| Keywords | react-native, ios, android, icloud, google-drive, file-system |

## Links

- npm: https://www.npmjs.com/package/react-native-cloud-storage
- Repository: https://github.com/kuatsu/react-native-cloud-storage
- Homepage: https://github.com/kuatsu/react-native-cloud-storage#readme
- Issues: https://github.com/kuatsu/react-native-cloud-storage/issues
- npm.io page: https://npm.io/package/react-native-cloud-storage

## Alternatives

- [@sindresorhus/slugify](https://npm.io/package/@sindresorhus/slugify.md) — 3.7M weekly downloads
- [solid-js](https://npm.io/package/solid-js.md) — 2.7M weekly downloads
- [expo-glass-effect](https://npm.io/package/expo-glass-effect.md) — 2.5M weekly downloads
- [nanoassert](https://npm.io/package/nanoassert.md) — 780.8K weekly downloads
- [@ffmpeg/ffmpeg](https://npm.io/package/@ffmpeg/ffmpeg.md) — 529.5K weekly downloads

## Recent versions

- 3.1.1 (latest) — 2026-10-02
- 3.1.0 — 2026-08-11
- 3.0.1 — 2026-06-21
- 3.0.0 — 2026-02-26
- 2.3.0 — 2025-06-14
- 2.2.2 — 2025-01-23
- 2.2.1 — 2024-10-02
- 2.2.0 — 2024-09-29
- 2.1.0 — 2024-09-28
- 2.0.0 — 2024-09-27
- 1.5.1 — 2024-09-27
- 1.5.0 — 2024-09-27
- 1.4.2 — 2024-09-26
- 1.4.1 — 2024-05-26
- 1.4.0 — 2024-04-25
- … 18 more at https://npm.io/package/react-native-cloud-storage/versions

## README

<a href="https://kuatsu.de/?utm_campaign=generic&utm_source=github&utm_medium=referral&utm_content=react-native-cloud-storage" align="center">
  <picture>
    <img alt="react-native-cloud-storage: The React Native cloud drive layer" src="apps/docs/public/repo-banner.jpg">
  </picture>
</a>

# react-native-cloud-storage

[![npm version](https://img.shields.io/npm/v/react-native-cloud-storage.svg)](https://www.npmjs.com/package/react-native-cloud-storage)
[![CI](https://github.com/kuatsu/react-native-cloud-storage/actions/workflows/ci.yml/badge.svg)](https://github.com/kuatsu/react-native-cloud-storage/actions/workflows/ci.yml)
[![License: MIT](https://img.shields.io/badge/license-MIT-black.svg)](LICENSE)

**The React Native cloud drive layer.**

React Native Cloud Storage gives your app a unified and developer-friendly API for accessing cloud storage services on iOS, Android and Web. It supports document storage and key-value stores across iCloud (on iOS only) and Google Drive (all platforms).

- 💾 Read and write files to the cloud
- 🔑 Store key-value pairs on the cloud
- 🧪 Fully compatible with Expo
- 📱 iOS & Android support, plus Web support for text-based Google Drive operations
- 🏎️ Lightning fast iCloud performance using native iOS APIs
- 🌐 Google Drive REST API implementation for all platforms
- 🧬 Easy to use React Hooks API, or use the imperative `fs`-style API
- 👌 Zero dependencies, small bundle size

## Documentation

The documentation is available at [cloudstorage.kuatsu.de](https://cloudstorage.kuatsu.de).

## Installation

Install the package using your favorite package manager.

```sh
npm install react-native-cloud-storage
# or
yarn add react-native-cloud-storage
```

If you're using Expo, [add the provided config plugin](https://cloudstorage.kuatsu.de/docs/installation/expo) and `expo prebuild` or rebuild your development client.

## Quick Start

```jsx
import React from 'react';
import { Platform, View, Text, Button } from 'react-native';
import { CloudStorage, CloudStorageProvider, useIsCloudAvailable } from 'react-native-cloud-storage';

const App = () => {
  const cloudAvailable = useIsCloudAvailable();

  React.useEffect(() => {
    if (CloudStorage.getProvider() === CloudStorageProvider.GoogleDrive) {
      // get access token via @react-native-google-signin/google-signin or similar
      CloudStorage.setProviderOptions({ accessToken: 'some-access-token' });
    }
  }, []);

  const writeToCloud = async () => {
    await CloudStorage.writeFile('/file.txt', 'Hello, world!');
    console.log('Successfully wrote file to cloud');
  };

  const readFromCloud = async () => {
    const value = await CloudStorage.readFile('/file.txt');
    console.log('Successfully read file from cloud:', value);
  };

  return (
    <View>
      {cloudAvailable ? (
        <>
          <Button onPress={writeToCloud} title="Write to Cloud" />
          <Button onPress={readFromCloud} title="Read from Cloud" />
        </>
      ) : (
        <Text>The cloud storage is not available. Are you logged in?</Text>
      )}
    </View>
  );
};
```

## Contributing

See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.

## Built at Kuatsu

Kuatsu is a boutique React Native agency specialized on building highly performant React Native apps. Visit [https://kuatsu.de](kuatsu.de) to learn more about our work.

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