---
title: Set up QR code handling
description: Applies to:
component: sdks
version: latest
page_id: sdks:sdks:use-cases/how-to-handle-qr-codes
canonical_url: https://docs.pingidentity.com/sdks/latest/sdks/use-cases/how-to-handle-qr-codes.html
llms_txt: https://docs.pingidentity.com/sdks/llms.txt
docs_for_agents: https://developer.pingidentity.com/build-with-ai/docs-for-agents.md
revdate: Wed, 17 May 2023 14:10:20 +0100
keywords: ["PingOne Advanced Identity Cloud", "PingAM", "Journeys", "Setup &amp; Configuration", "Source Code", "Use Case", "SDK"]
---

# Set up QR code handling

***Applies to***:

* [icon: square-o, set=fa]Ping (ForgeRock) SDK for Android

* [icon: square-o, set=fa]Ping (ForgeRock) SDK for iOS

* [icon: check-square-o, set=fa]Ping (ForgeRock) SDK for JavaScript

The Ping (ForgeRock) SDK for JavaScript has the following methods for handling QR codes:

* `FRQRCode.isQRCodeStep(step)`

  For determining if a step requires a QR code.

* `FRQRCode.getQRCodeData(step)`

  For extracting the QR code data from the step, such as the URI.

Example:

```js
// Import the module
import { FRQRCode } from '@forgerock/javascript-sdk';

// Determine if a step is a QR code step
const isQRCode: boolean = FRQRCode.isQRCodeStep(step);

if (isQRCode) {
  // Extract QR code data
  const data: {
    message: string,
    use: string,
    uri: string
  } = FRQRCode.getQRCodeData(step);

  // Render a QR code using the `data` from the step

}
```
