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

# QR codes

> Generate a QR for any link to use on print, packaging, or events.

Any short link in linkutm can be rendered as a QR code. The QR encodes the short URL - scanning it triggers the same redirect (and the same UTM tracking) as a click.

## When to use it

* Print: flyers, business cards, packaging.
* Events: trade-show booths, conference signage.
* TV / video overlays.
* Restaurants, retail - anywhere the audience holds a phone but can't type.

## How to use it

<Steps>
  <Step title="Find your link">
    Sidebar → **Links**.
  </Step>

  <Step title="Open QR Code">
    On the link row, click **More options**, then select **QR Code**. The panel opens with a live preview and customization tabs.
  </Step>

  <Step title="Customize and download">
    Adjust settings across the tabs. The preview updates in real time. Click **Save** or use the download button to export as PNG, SVG, or JPEG.
  </Step>
</Steps>

## Customization

The QR panel has six tabs. Each controls a different visual aspect of the code.

**Logo** — Place a logo or icon in the center. Upload an image, enter text, or pick a social media preset: linkutm, WhatsApp, Facebook, Instagram, Twitter/X, YouTube, LinkedIn, Telegram, or TikTok.

<Frame>
  <img src="https://mintcdn.com/utm-e577acb5/wxzypjL9Eisoapz5/images/qrcustomization1.png?fit=max&auto=format&n=wxzypjL9Eisoapz5&q=85&s=e6e2a1434458920f976a7cb7e4e8436c" alt="Logo tab — Upload, Text, and social media preset options for the QR center" width="1920" height="957" data-path="images/qrcustomization1.png" />
</Frame>

**Frame** — Add a border around the QR. Choose from 11 frame styles or leave it frameless.

<Frame>
  <img src="https://mintcdn.com/utm-e577acb5/wxzypjL9Eisoapz5/images/qrcustomization2.png?fit=max&auto=format&n=wxzypjL9Eisoapz5&q=85&s=f68caf6593b456a03c0986f845bde285" alt="Frame tab — 11 frame border style options" width="1920" height="957" data-path="images/qrcustomization2.png" />
</Frame>

**Dots** — Change the shape of the QR dot pattern. 11 styles available.

<Frame>
  <img src="https://mintcdn.com/utm-e577acb5/wxzypjL9Eisoapz5/images/qrcustomization4.png?fit=max&auto=format&n=wxzypjL9Eisoapz5&q=85&s=b7c9516dbe8f0672c66953c432522ab4" alt="Dots tab — 11 dot pattern shape options for the QR body" width="1920" height="957" data-path="images/qrcustomization4.png" />
</Frame>

**Corners** — Style the three corner markers. Set corner square shape (6 options) and corner dot shape (5 options) independently.

<Frame>
  <img src="https://mintcdn.com/utm-e577acb5/wxzypjL9Eisoapz5/images/qrcustomization5.png?fit=max&auto=format&n=wxzypjL9Eisoapz5&q=85&s=b527e60105b65377b2221d8a6382c481" alt="Corners tab — corner square styles and corner dot styles" width="1920" height="957" data-path="images/qrcustomization5.png" />
</Frame>

**Colors** — Set foreground, corner, and background colors. Foreground supports solid, linear gradient, and radial gradient fills. Toggle corner color on to set it separately from the foreground.

<Frame>
  <img src="https://mintcdn.com/utm-e577acb5/wxzypjL9Eisoapz5/images/qrcustomization6.png?fit=max&auto=format&n=wxzypjL9Eisoapz5&q=85&s=c9062db1eba69ab707b073ef7d9d90d6" alt="Colors tab — foreground color picker with solid, linear, and radial modes; corner color toggle; background color picker" width="1920" height="957" data-path="images/qrcustomization6.png" />
</Frame>

**Visibility** — Control quiet zone size, error correction level, and whether the dots behind the center logo are hidden.

<Frame>
  <img src="https://mintcdn.com/utm-e577acb5/wxzypjL9Eisoapz5/images/qrcustomization3.png?fit=max&auto=format&n=wxzypjL9Eisoapz5&q=85&s=0e55bcd7d785ba3633487734acfdc3d0" alt="Visible tab — quiet zone slider, error correction dropdown, hide dots behind logo toggle" width="1920" height="957" data-path="images/qrcustomization3.png" />
</Frame>

## Real-world example

Coffee shop loyalty stamp card:

```
Destination:  https://acme-cafe.com/loyalty
utm_source:   in_store
utm_medium:   qr_code
utm_campaign: loyalty_v2
Custom slug:  cafe-loyalty
```

Print QR for `go.acme-cafe.com/cafe-loyalty` on every receipt. Analytics shows scans by region (which store), device (iOS vs Android), time of day.

## Common mistakes

<AccordionGroup>
  <Accordion title="QR encoding the destination directly">
    Bypasses linkutm - no click tracking, no UTM consistency. Always encode the **short URL**, not the long destination.
  </Accordion>

  <Accordion title="Editing the link after print">
    Changing the slug breaks every printed QR. Lock the slug before you commit to print.
  </Accordion>

  <Accordion title="Logo making the QR unscannable">
    A large or complex logo reduces scan reliability. Keep the logo small and set error correction to High. The scan reliability indicator in the panel turns red when the code is at risk.
  </Accordion>
</AccordionGroup>

## Edge cases

<Note>
  **Links with pixels enabled** show a brief loading page before the redirect. QR scans inside an in-app browser may show this page. Tracking accuracy is not affected.
</Note>
