---
title: Store data
description: Learn about different libraries available to store data in your Expo project.
---

import { BoxLink } from '~/ui/components/BoxLink';
import { BookOpen02Icon } from '@expo/styleguide-icons';

Storing data can be essential to the features implemented in your mobile app. There are different ways to save data in your Expo project depending on the type of data you want to store and the security requirements of your app. This page lists a variety of libraries to help you decide which solution is best for your project.

## Expo SecureStore

`expo-secure-store` provides a way to encrypt and securely store key-value pairs locally on the device.

<BoxLink
  title="Expo SecureStore API reference"
  description="For more information on how to install and use expo-secure-store, see its API documentation."
  href="/versions/latest/sdk/securestore"
  imageUrl="/static/images/packages/expo-secure-store.png"
/>

## Expo FileSystem

`expo-file-system` provides access to a file system stored locally on the device. Within Expo Go, each project has a separate file system and no access to other Expo projects' files. However, it can save content shared by other projects to the local filesystem and share local files with other projects. It is also capable of uploading and downloading files from network URLs.

<BoxLink
  title="Expo FileSystem API reference"
  description="For more information on how to install and use expo-file-system, see its API documentation."
  href="/versions/latest/sdk/filesystem"
  imageUrl="/static/images/packages/expo-file-system.png"
/>

## Expo SQLite

`expo-sqlite` package gives your app access to a database that can be queried through a WebSQL-like API. The database is persisted across restarts of your app. You can use it for importing an existing database, opening databases, creating tables, inserting items, querying and displaying results, and using prepared statements.

<BoxLink
  title="Expo SQLite API reference"
  description="For more information on how to install and use expo-sqlite, see its API documentation."
  href="/versions/latest/sdk/sqlite"
  Icon={BookOpen02Icon}
/>

## Async Storage

[Async Storage](https://react-native-async-storage.github.io/async-storage/) is an asynchronous, unencrypted, persistent key-value storage for React Native apps. It has a simple API and is a good choice for storing small amounts of data. It is also a good choice for storing data that does not need encryption, such as user preferences or app state.

<BoxLink
  title="Async Storage documentation"
  description="For more information on how to install and use Async Storage, see its documentation."
  href="https://react-native-async-storage.github.io/async-storage/docs/usage"
  imageUrl="https://react-native-async-storage.github.io/async-storage/img/logo.svg"
/>

## Other libraries

There are other libraries available for storing data for different purposes. For example, you might not need encryption in your project or are looking for a faster solution similar to Async Storage.

We recommend checking out [React Native for a list of libraries](https://reactnative.directory/?search=storage) to help you store your project's data.
