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

# Importing QR codes

> Generate hundreds of QR codes at once by uploading a CSV file in the HoopAI platform's bulk QR code creation tool.

The HoopAI platform's bulk QR code creation tool converts a list of names and URLs from a CSV file into a fully generated set of QR codes in seconds. This feature is designed for campaigns, businesses, or any scenario where you need to produce many codes at once without creating each one manually.

## When to use bulk import

* Creating location-specific QR codes for a chain of stores (each store gets a unique URL)
* Generating individual codes for products, menu items, or event sessions
* Onboarding a new client whose materials require dozens of codes at launch
* Creating personalized codes for conference attendees or direct mail recipients
* Migrating existing QR codes from another system into the HoopAI platform

## Understanding what bulk import creates

The bulk import tool creates **website URL** type QR codes — each row in your CSV becomes one QR code linked to the URL in that row. The codes use default styling (standard black-on-white square dots) at the time of creation. You can edit the design of any individual code after the import completes.

If you need QR codes of other types (vCard, Wi-Fi, SMS, and so on), create those individually using the standard creation flow.

## Preparing your CSV file

The import requires a CSV file with exactly two columns: **name** and **url**.

### Required format

```
name,url
Downtown Location,https://yoursite.com/downtown
Uptown Location,https://yoursite.com/uptown
North Branch,https://yoursite.com/north
```

### Column requirements

| Column | Requirement                                                                                       |
| ------ | ------------------------------------------------------------------------------------------------- |
| `name` | The display name for the QR code in your library. Becomes the filename when downloaded.           |
| `url`  | The destination URL. Must begin with `http://` or `https://`. No spaces permitted within the URL. |

### Critical rules

* The CSV must have **exactly two columns** — `name` and `url`. No additional columns are permitted.
* Column headers must read exactly `name` and `url` (lowercase, no extra spaces).
* No blank rows or empty cells in either column.
* Every URL must begin with `http://` or `https://`.
* URLs may not contain spaces.
* The file must be saved in standard CSV format (comma-separated values, UTF-8 encoding).

### Getting the template

Rather than building the CSV from scratch, download the official template from the bulk creation interface:

1. Navigate to **Sites > QR Codes**
2. Click **Create Bulk QR Codes**
3. Click **Download Sample CSV**
4. Open the template in a spreadsheet application (Excel, Google Sheets, Numbers)
5. Replace the sample data with your own names and URLs
6. Export or save as CSV

## Running the import

<Steps>
  <Step title="Open bulk creation">
    Navigate to **Sites > QR Codes** and click **Create Bulk QR Codes**. This opens the bulk creation panel.
  </Step>

  <Step title="Download and prepare the CSV">
    Download the sample template if you have not already prepared your file. Populate it with your QR code names and destination URLs, then save as CSV.
  </Step>

  <Step title="Upload the CSV file">
    Drag and drop your CSV file onto the upload area, or click to browse and select the file from your computer.
  </Step>

  <Step title="Select a destination folder (optional)">
    If you want all imported codes to land in a specific folder, select it from the folder dropdown. Only folders that already exist appear in the list — create the folder first if needed (see [QR code folders](/qr-codes/qr-code-folders)). If no folder is selected, the codes are saved in the root level of the library.
  </Step>

  <Step title="Start the upload">
    Click **Upload** to begin processing. A progress indicator tracks how many codes have been generated. The codes are created in the background, so you can continue other work in the platform while the batch processes.
  </Step>

  <Step title="Review results">
    When processing completes, the library shows all newly created codes. Any rows that could not be processed due to errors are flagged with an explanation. Fix the flagged rows in your CSV and re-upload the corrected rows.
  </Step>
</Steps>

## Handling errors

The validation process checks each row before generating codes. Common errors include:

| Error                  | Cause                                           | Fix                                          |
| ---------------------- | ----------------------------------------------- | -------------------------------------------- |
| Invalid URL format     | URL does not begin with `http://` or `https://` | Correct the URL prefix in the CSV            |
| URL contains spaces    | Whitespace inside the URL                       | Remove spaces; URL-encode special characters |
| Missing name           | Name cell is empty                              | Add a name to every row                      |
| Extra columns detected | CSV has more than two columns                   | Remove all columns except `name` and `url`   |
| Blank row              | An empty row between data rows                  | Delete all blank rows from the CSV           |

Rows that fail validation do not generate a QR code. The successfully processed rows are created normally. Export the failed rows, fix the errors, and re-upload to create the remaining codes.

## After import: editing designs

All imported codes use the platform's default visual style. To apply custom branding:

1. Open any imported code from the library (three-dot menu > **Edit**)
2. Navigate to the design step
3. Apply your brand colors, dot style, logo, and any other customizations
4. Save the code

For large batches requiring consistent branding, consider editing one code first to confirm the design, then applying the same settings to others. Each code must be edited individually for design changes after a bulk import.

## Moving imported codes

If you did not assign a folder during import, or if you want to reorganize the codes, use bulk move to relocate them. Select all newly imported codes using the checkbox, then bulk move them to the appropriate folder. See [Bulk actions](/qr-codes/bulk-actions) for instructions.

<Tip>
  Test your CSV with a small batch of 3–5 rows before uploading hundreds of rows. This confirms the format is correct and the URLs resolve properly before committing to a large import.
</Tip>

<Note>
  The bulk import tool creates website URL QR codes only. For all other QR code types — vCard, Wi-Fi, SMS, email, and so on — use the standard single-code creation flow.
</Note>
