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

# Bulk Operations

> Run jobs across many QR Codes at once: create them from a spreadsheet, swap URLs, rename, re-skin, organize, delete, or export the images as a single ZIP.

**Bulk Operations** (`/bulk-operations`) is where you act on many QR Codes in one pass instead of opening them one at a time. Everything here runs as a background job, so you start it and leave — you get a progress card on the jobs list and an email when it finishes.

It's a top-level item in the sidebar, with [Media Library](#media-library) nested under it.

## The jobs list

The landing page is a record of every bulk job the account has run, with four counters across the top: **Total** (all time), **In Progress** (now running), **Completed** (recent), and **Failed** (needs attention).

Each row shows the **job** name, its **type** and category, **status**, a **progress** bar, when it **started**, and which **user** ran it. A finished job that produced a file shows a download control on its own row.

A job can take a minute to appear here after you start it, and the page does not refresh itself — reload before concluding that a job failed to queue.

## Starting a job

**New Operation** opens a chooser with seven job types, split into the four most used and three further down:

| Job                 | What it does                                                    |
| :------------------ | :-------------------------------------------------------------- |
| **Create QR Codes** | Generate many new QR Codes from a spreadsheet                   |
| **Update QR Codes** | Change where codes point — swap URLs in bulk from a spreadsheet |
| **Update Details**  | Rename and re-tag codes without changing their URLs             |
| **Download**        | Export QR Code images as PNG, SVG, PDF, or EPS in a ZIP         |
| **Apply Design**    | Re-skin many codes with a saved design preset                   |
| **Organize**        | Move codes between folders, or add and remove tags              |
| **Delete**          | Archive or permanently remove multiple codes                    |

The split matters when you're deciding which one you want: **Update QR Codes** changes destinations, **Update Details** deliberately doesn't. Renaming a hundred codes won't touch where any of them point.

## Creating QR Codes in bulk

Creation runs as a four-step wizard: **Category → Spreadsheet → Settings → Review**.

<Steps>
  <Step title="Pick a category">
    Bulk creation supports four categories: **Website URL**, **Business Card**, **Custom Page**, and **GS1**. Every code in a single job shares the category you pick here, so a mixed batch means more than one job.
  </Step>

  <Step title="Download the template, then upload it filled in">
    Download the sample sheet, fill in one row per QR Code, and upload it back. The uploader accepts **CSV or XLSX, up to 10 MB**.

    **The template is specific to the category you picked** — a Website URL sheet arrives with the columns `name`, `tags`, `custom_slug` and the destination URL, where a Business Card sheet asks for contact fields. Download it after choosing the category rather than reusing a sheet from an earlier job.
  </Step>

  <Step title="Choose the settings you want">
    Everything here is optional — the header says so, and a job runs perfectly well with all five switched off.

    | Setting                       | What it applies to every code in the job                         |
    | :---------------------------- | :--------------------------------------------------------------- |
    | **Add design**                | A design from **In-built Templates** or your **Saved Templates** |
    | **Add custom domain**         | Your own domain in place of the default `scnv.io` short links    |
    | **Auto-organize into folder** | A folder to place every code from the job into                   |
    | **Scheduling**                | Activation and deactivation times                                |
    | **Tracking parameters**       | UTM parameters appended to every short link                      |
  </Step>

  <Step title="Name it, check the summary, and start">
    **Job name** is optional but worth filling in — it's what you'll scan for on the jobs list later, and the default batch names are just a timestamp.

    Below it, a summary shows the category, the uploaded file, and each of the five settings as On, Off or None, so you can confirm the job before running it. **Start generation** queues it.
  </Step>
</Steps>

## Exporting images in bulk

**Download** is a three-step wizard — **Select codes → Format → Review** — and produces a single ZIP. You choose the codes with the same search and filters as the QR Codes list, including selecting everything that matches a filter rather than ticking rows one by one.

## Media Library

**Media Library** (`/media`) is where everything you have uploaded to the account lives, in one place rather than scattered across individual QR Codes.

You can search it, filter by **Type** and by **Source**, switch between list and grid, and upload new files directly. The sidebar nests it under Bulk Operations, though it has its own route.

## Related

* [Folders, tags & bulk operations](/qr-codes/manage/folders-tags-bulk-operations) — the bulk action bar on the QR Codes list, for smaller batches without a job
* [Download QR Code images](/qr-codes/manage/download) — exporting a single code and the formats available
* [Custom QR Code design](/qr-codes/manage/custom-design) — saving the design presets that Apply Design uses
* [Bulk endpoints](/api-reference/management-api/bulk-operation/list) — running the same jobs through the API
