> ## Documentation Index
> Fetch the complete documentation index at: https://docs.syncsnap.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# React components (API)

> Props for SyncsnapUploadButton and SyncsnapQrCode

# React components API

## SyncsnapUploadButton

**Import:** `import { SyncsnapUploadButton } from "@syncsnap/react";`

Props extend [UseSyncsnapJobOptions](/api-reference/react-use-syncsnap-job) (e.g. `createJobUrl`, `getJobUrl`, `getWaitForCompletionUrl`, `onCompleted`). In addition:

| Prop                   | Type                       | Default          | Description                                                                 |
| ---------------------- | -------------------------- | ---------------- | --------------------------------------------------------------------------- |
| `buttonText`           | `string`                   | `"Start upload"` | Button label.                                                               |
| `className`            | `string`                   | —                | Wrapper className.                                                          |
| `qrSize`               | `number`                   | `240`            | QR size in pixels.                                                          |
| `qrBaseUrl`            | `string`                   | —                | Base URL for upload page (see [createUploadUrl](/react/create-upload-url)). |
| `errorCorrectionLevel` | `"L" \| "M" \| "Q" \| "H"` | `"M"`            | QR error correction.                                                        |

See [SyncsnapUploadButton](/react/syncsnap-upload-button).

***

## SyncsnapQrCode

**Import:** `import { SyncsnapQrCode } from "@syncsnap/react";`

| Prop                   | Type                       | Default                          | Description                |
| ---------------------- | -------------------------- | -------------------------------- | -------------------------- |
| `jobId`                | `string`                   | *required*                       | Job ID.                    |
| `baseUrl`              | `string`                   | `"https://upload.syncsnap.xyz/"` | Upload page base URL.      |
| `size`                 | `number`                   | `240`                            | QR width/height in pixels. |
| `className`            | `string`                   | —                                | Applied to the `<img>`.    |
| `errorCorrectionLevel` | `"L" \| "M" \| "Q" \| "H"` | `"M"`                            | QR error correction.       |

See [SyncsnapQrCode](/react/syncsnap-qr-code).
