---
modificationDate: May 14, 2026
title: qr.expo.dev
description: Reference for the QR code generator at qr.expo.dev.
---

<AgentInstructions>

## Submitting Feedback

If this page contains errors, outdated information, or gaps that blocked you from completing a task, report it so the docs can be improved:

curl -X POST https://api.expo.dev/v2/feedback/docs-send -H 'Content-Type: application/json' -d '{"url":"/more/qr-codes/","feedback":"🤖 Agent feedback: <specific, actionable description>"}'

Only submit when you have something specific and actionable to report.

</AgentInstructions>

# qr.expo.dev

Reference for the QR code generator at qr.expo.dev.

> For the complete documentation index, see [llms.txt](/llms.txt). Use this file to discover all available pages.

qr.expo.dev is a cloud function that generates Expo-branded QR codes. This function creates QR codes for [EAS Update](/eas-update/introduction), which are used to preview updates in [development builds](/develop/development-builds/introduction) and Expo Go.

For example, if you and your team have a development build, and you'd like to load the latest update on a specific build's channel, you could go to the following endpoint to generate a QR code:

```text
https://qr.expo.dev/eas-update?projectId=your-project-id&runtimeVersion=your-runtime-version&channel=your-channel
```

Which would produce the following QR code SVG:

This QR code represents the following URL:

```text
exp+your-slug://expo-development-client/?url=https://u.expo.dev/your-project-id?runtime-version=your-runtime-version&channel-name=your-channel
```

This URL will deep link into a development build and instruct it to fetch the latest update on the specified channel.

> If sharing the URL is more convenient, you can request the URL directly by adding `format=url` to the query parameters.

## General

The following parameters apply to the `/eas-update` endpoint.

### Base query parameters

The following base query parameters can be included with any request to `/eas-update`.

| Param | Required | Default | Description |
| --- | --- | --- | --- |
| `slug` | ✗ | exp | Use [`slug`](/versions/latest/config/app#slug) from [app config](/workflow/configuration) to target a development build. Otherwise use "exp" to target Expo Go. |
| `appScheme` (deprecated) | ✗ | exp | Replaced by `slug`. Use `slug` instead. |
| `host` | ✗ | u.expo.dev | The hostname of the server that handles update requests. |
| `format` | ✗ | svg | Endpoints respond with SVGs by default. To receive a plain text URL, use `url`. |

### Update by device traits

Preview and production builds make requests to the EAS Update service with `runtimeVersion` and `channel` properties. You can emulate this behavior with the following query parameters:

| Param | Required | Description |
| --- | --- | --- |
| `projectId` | ✓ | The ID of the project |
| `runtimeVersion` | ✓ | The [runtime version](/eas-update/runtime-versions) of the build |
| `channel` | ✓ | The channel name of the build |

#### Example

```text
https://qr.expo.dev/eas-update?projectId=your-project-id&runtimeVersion=your-runtime-version&channel=your-channel
```

### Update by ID

You can create a QR code for a specific update given its platform-specific ID.

| Param | Required | Description |
| --- | --- | --- |
| `updateId` | ✓ | The ID of the update |

#### Example

```text
https://qr.expo.dev/eas-update?updateId=your-update-id
```

### Update by group ID

You can create a QR code for an update group given the update's group ID.

| Param | Required | Description |
| --- | --- | --- |
| `projectId` | ✓ | The ID of the project |
| `groupId` | ✓ | The ID of the update group |

#### Example

```text
https://qr.expo.dev/eas-update?projectId=your-project-id&groupId=your-update-id
```

### Update by branch ID

You can create a QR code with a branch's ID, which will return the latest update available on that branch.

| Param | Required | Description |
| --- | --- | --- |
| `projectId` | ✓ | The ID of the project |
| `branchId` | ✓ | The ID of the branch |

#### Example

```text
https://qr.expo.dev/eas-update?projectId=your-project-id&branchId=your-branch-id
```

### Update by channel ID

You can create a QR code with a channel's ID, which will return the latest update available on the branch or branches that are mapped to that channel.

| Param | Required | Description |
| --- | --- | --- |
| `projectId` | ✓ | The ID of the project |
| `channelId` | ✓ | The ID of the channel |

#### Example

```text
https://qr.expo.dev/eas-update?projectId=your-project-id&channelId=your-channel-id
```
