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

# Connect a custom domain

> Serve your QR code links from your own subdomain, such as qr.yourbrand.com, instead of the shared GetQR short domain.

Connect a subdomain you own, such as `qr.yourbrand.com`, so new QR codes use your domain instead of the shared GetQR short domain. People see your brand when they scan, and GetQR issues and renews the HTTPS certificate for you.

<Note>
  Custom domains are in beta and may not be available in every workspace yet. If you don't see the **Domains** tab in your account settings, the feature isn't enabled for your workspace.
</Note>

## Before you start

* You need the **Admin** or **Editor** role. A **Viewer** can see the list of domains but can't change anything.
* You need access to the DNS settings of your domain, at your registrar or DNS provider (for example Cloudflare, GoDaddy, Namecheap or Squarespace). If someone else manages your DNS, you can download the exact values for them during setup.
* You can connect up to 3 domains per workspace.
* You connect a **subdomain**, not your root domain. `qr.yourbrand.com` works; `yourbrand.com` and `www.yourbrand.com` don't. Your website and email on the root domain stay untouched.

## Connect your domain

<Steps>
  <Step title="Open the Domains tab">
    In the sidebar, open your profile menu and click **My Account**. Then select the **Domains** tab.
  </Step>

  <Step title="Start the setup">
    Click **Connect a domain**.

    <Tip>
      You can also start from the QR code builder: open the domain dropdown in the **Custom short link** field and click **Connect a domain**.
    </Tip>
  </Step>

  <Step title="Choose a subdomain">
    On **Choose a subdomain**, pick a prefix: **qr**, **go**, **scan** or **link**. To use your own prefix, click **Custom** and type it in the **Subdomain** field.
  </Step>

  <Step title="Enter your root domain">
    In **Your domain**, type your root domain only, for example `yourbrand.com`. GetQR checks the full hostname automatically and shows **Checking availability…**.
  </Step>

  <Step title="Confirm the hostname is available">
    Wait for the message that the hostname is available. The preview under **Your codes will look like** shows what your links will look like. Click **Continue**.
  </Step>

  <Step title="Copy the DNS record">
    On **Add one DNS record**, copy the **Name** and **Target** values with the copy buttons. The record type is always **CNAME**, and **Proxy** must be **DNS only — grey cloud**.

    <Tip>
      Don't manage DNS yourself? Click **Download instructions** to get a file with the exact values for your developer or IT team.
    </Tip>
  </Step>

  <Step title="Add the CNAME record at your DNS provider">
    In a new tab, open your DNS provider and add one CNAME record with the **Name** and **Target** you copied. Set TTL to Auto (default). See [Provider tips](#provider-tips) below.
  </Step>

  <Step title="Add the CAA record, if GetQR asks for it">
    If the setup screen shows a CAA warning, your root domain has a CAA record that blocks GetQR's certificate authority. Add the extra record shown in the warning, which looks like this:

    ```text theme={null}
    yourbrand.com. CAA 0 issue "letsencrypt.org"
    ```

    If there's no warning, skip this step.
  </Step>

  <Step title="Tell GetQR the record is in place">
    Back in GetQR, click **I've added the record**. GetQR checks your DNS right away and moves to the verification screen.
  </Step>

  <Step title="Wait for verification">
    GetQR checks automatically and sets up HTTPS. Verification usually takes up to 1 hour, depending on your DNS provider and region. You can close the window: GetQR keeps checking and emails you once the domain is live.

    To check sooner, click **Check now**.
  </Step>

  <Step title="Test your domain">
    When the domain is live, you see that it is live over HTTPS. Open the test link (`your-subdomain/test`) to confirm it works on your device, then click **Done**.
  </Step>
</Steps>

## Provider tips

Every provider uses slightly different labels, but the record is always the same: one **CNAME** record with the **Name** and **Target** shown in GetQR.

<Tabs>
  <Tab title="Cloudflare">
    1. Open the DNS records for your root domain.
    2. Add a record of type **CNAME**.
    3. Paste the **Name** (for example `qr`) and the **Target** from GetQR.
    4. Turn the orange cloud off so the proxy status reads **DNS only**.
    5. Save the record.

    <Warning>
      Cloudflare proxies new records by default. While the record is proxied (orange cloud), the certificate can't be issued and scans fail.
    </Warning>
  </Tab>

  <Tab title="GoDaddy">
    1. Open the DNS settings for your root domain.
    2. Add a new record of type **CNAME**.
    3. Enter the **Name** from GetQR in the name (host) field, for example `qr`.
    4. Paste the **Target** from GetQR into the value (points to) field.
    5. Leave TTL at the default and save.
  </Tab>

  <Tab title="Namecheap">
    1. Open the DNS settings for your root domain.
    2. Add a new record of type **CNAME**.
    3. Enter the **Name** from GetQR in the host field, for example `qr`.
    4. Paste the **Target** from GetQR into the value (target) field.
    5. Leave TTL at Automatic and save.
  </Tab>

  <Tab title="Google / Squarespace">
    Domains registered with Google Domains are now managed by Squarespace.

    1. Open the DNS settings for your root domain.
    2. Add a custom record of type **CNAME**.
    3. Enter the **Name** from GetQR in the host field, for example `qr`.
    4. Paste the **Target** from GetQR into the data (value) field.
    5. Save the record.
  </Tab>
</Tabs>

<Tip>
  Most providers add your root domain to the name automatically. Enter only the subdomain part (`qr`), not `qr.yourbrand.com`, or you may end up with `qr.yourbrand.com.yourbrand.com`.
</Tip>

## Use your domain in QR codes

After the domain is live, you choose it per QR code in the builder. In the **Custom short link** field, open the domain dropdown and select your domain. Domains that are still being set up appear in the list with a **Setting up** label and can't be selected yet. See [Create a custom short link](/short-links/create-short-link).

<Warning>
  QR codes keep the domain they were created with. Existing codes don't move to your new domain, and removing a domain stops every QR code on it from scanning.
</Warning>

## Settings

| Setting | What it does |
| - | - |
| **Subdomain** | The prefix of your hostname, such as `qr`. Letters, digits and hyphens only. `www` is not allowed. |
| **Your domain** | Your root domain, such as `yourbrand.com`. Don't include a subdomain here. |
| **Type** | Always **CNAME**. |
| **Name** | The subdomain label to enter at your DNS provider. |
| **Target** | The GetQR hostname your record points to. It's unique to your domain, so always copy it from the app. |
| **Proxy** | Must be **DNS only — grey cloud**. A proxied record blocks the certificate. |

## Use cases

* **Brand trust.** People see `qr.yourbrand.com` in the link preview when they scan, not a third-party domain.
* **Campaigns.** Combine your domain with a custom short link, for example `qr.yourbrand.com/summer-menu`.
* **Small print.** A short hostname makes a less dense QR code that scans more reliably at small sizes.

## Common issues

<AccordionGroup>
  <Accordion title="I don't see the Domains tab">
    Custom domains are in beta and enabled per workspace. If the tab isn't in your account settings, the feature isn't available for your workspace yet.
  </Accordion>

  <Accordion title="The Connect a domain button is disabled">
    Your workspace already has 3 domains, the maximum. Remove one to connect another. If you don't see the button at all, you have the **Viewer** role; ask an Admin or Editor.
  </Accordion>

  <Accordion title="“Use a subdomain such as qr.yourbrand.com”">
    You entered a root domain. A root domain needs a different record and would affect your website and email. Choose a subdomain prefix and enter only the root domain in **Your domain**.
  </Accordion>

  <Accordion title="“www is reserved for your website”">
    `www` points at your website, so GetQR can't use it. Pick another prefix, such as `qr`.
  </Accordion>

  <Accordion title="“already includes a subdomain”">
    You typed a subdomain in **Your domain**, for example `qr.yourbrand.com`. Enter only the root domain (`yourbrand.com`) and choose the prefix in **Subdomain**.
  </Accordion>

  <Accordion title="“This domain is already connected to another GetQR account”">
    Another GetQR workspace already uses this hostname. Choose a different subdomain, or contact [help@getqr.com](mailto:help@getqr.com) if you think this is a mistake.
  </Accordion>

  <Accordion title="“That domain can't be connected”">
    The hostname is reserved or not allowed. Choose a different subdomain.
  </Accordion>

  <Accordion title="Verification is taking a long time">
    DNS changes can take a while to spread. Check that the record type, name and target match the app exactly and that the record isn't proxied. See [Verify your domain](/custom-domains/verify-and-troubleshoot) for what each status means.
  </Accordion>
</AccordionGroup>

## What's next

<CardGroup cols={2}>
  <Card title="Verify your domain" href="/custom-domains/verify-and-troubleshoot">
    Check the status and fix DNS or certificate problems.
  </Card>

  <Card title="Create a custom short link" href="/short-links/create-short-link">
    Put your domain and your own slug on a QR code.
  </Card>

  <Card title="Roles and permissions" href="/members/roles-and-permissions">
    See who can connect and remove domains.
  </Card>

  <Card title="Print your QR code" href="/downloads/printing">
    Print only after your domain is live.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.