---
title: "Source Maps"
description: "Learn more about how to upload your source maps to Sentry."
url: https://docs.sentry.io/platforms/react-native/sourcemaps/
---

# Source Maps | Sentry for React Native

This guide assumes you are using a Sentry React Native SDK on version `5.11.0` or higher.

If you are on an older version and you want to upload source maps we recommend upgrading your SDK to the newest version.

To get unminified stack traces for JavaScript code, source maps must be generated and uploaded. The React Native SDK handles source maps *automatically* for iOS with Xcode and Android with Gradle, if you do not use custom values.

Choose one of the following guides depending on your setup, or try the [automatic upload](https://docs.sentry.io/platforms/react-native/sourcemaps.md#set-up-automatic-upload) to get started.

* [Expo](https://docs.sentry.io/platforms/react-native/sourcemaps/uploading/expo.md)
* [Hermes](https://docs.sentry.io/platforms/react-native/sourcemaps/uploading/hermes.md)
* [JavaScript Core (JSC)](https://docs.sentry.io/platforms/react-native/sourcemaps/uploading/jsc.md)

## [Set Up Automatic Upload](https://docs.sentry.io/platforms/react-native/sourcemaps.md#set-up-automatic-upload)

The easiest way to configure automatic source maps upload is to use the Sentry Wizard:

```bash
npx @sentry/wizard@latest -i reactNative
```

The wizard will guide you through the following steps:

* Logging into Sentry and selecting a project
* Installing the necessary Sentry packages
* Configuring RN build tools to generate and upload source maps

It supports JavaScript Core (including RAM Bundle) and Hermes. If you want to configure automatic source maps upload manually, follow the steps on the [Manual Configuration](https://docs.sentry.io/platforms/react-native/manual-setup/manual-setup.md) page.

### [Disable Automatic Upload](https://docs.sentry.io/platforms/react-native/sourcemaps.md#disable-automatic-upload)

If you want to disable the automatic upload of source maps, you can set the `SENTRY_DISABLE_AUTO_UPLOAD` environment variable:

```bash
export SENTRY_DISABLE_AUTO_UPLOAD=true
```

Add the `shouldSentryAutoUpload` function in `android/app/build.gradle`:

```gradle
apply from: "../../../sentry.gradle"

sentry {
    autoUploadProguardMapping = shouldSentryAutoUpload()
    uploadNativeSymbols = shouldSentryAutoUpload()
}
```

### [Debug Builds](https://docs.sentry.io/platforms/react-native/sourcemaps.md#debug-builds)

Symbolication is handled directly by the Metro development server, automatically providing the symbolication needed to translate stack traces into readable source code in a development environment. There's no need to upload source maps for these types of builds which is why the automatic uploading of source maps is disabled.

## Pages in this section

- [Uploading Source Maps](https://docs.sentry.io/platforms/react-native/sourcemaps/uploading.md)
- [Troubleshooting Source Maps](https://docs.sentry.io/platforms/react-native/sourcemaps/troubleshooting.md)
- [What are Debug IDs](https://docs.sentry.io/platforms/react-native/sourcemaps/debug-ids.md)
